Jak utworzyć i wyświetlić wykres w komórce

Spisie treści

To jest prosty samouczek dotyczący tworzenia i wyświetlania wykresu słupkowego w komórce; technika, która bardzo dobrze sprawdza się podczas tworzenia raportów zarządczych.

Kroki:

1. W kolumnie A wprowadź wartości, które chcesz wyświetlić, tj. w komórce A1 wpisz wartość 10, w komórce A2 20 itd.

2. W kolumnie B1 wpisz następującą formułę: =REPT („n”, A1). Ta formuła po prostu mówi programowi Excel, aby powtórzył wartość zapisaną między „ ” według liczby w komórce A1.

3. Zmień czcionkę na „Wingdings”.

4. Proszę odnieść się do przykładu 1 w załączonym pliku Excel.

5. Jeśli chcesz zmniejszyć długość wykresu słupkowego, po prostu podziel „A1” w powyższym wzorze przez 10 lub przez dowolną liczbę, która jest najbardziej sensowna. Na przykład formuła wyglądałaby następująco =REPT („n”,A1/10). Zobacz przykład 2 w załączonym pliku Excel.

Należy zauważyć, że zmieniając „n” w powyższym wzorze można wyświetlać różne obrazy. Na przykład duże „J” spowoduje wyświetlenie uśmiechniętej twarzy, a duże „L” spowoduje wyświetlenie smutnej twarzy. Zobacz przykład 3 w załączonym pliku Excel.

Radzenie sobie z wartościami negatywnymi

Powyższe formuły sprawdzają się dobrze, gdy mamy do czynienia z wartościami dodatnimi. Jeśli jednak wartość w kolumnie A jest ujemna, wykres w kolumnie B zmieni się w ciąg złożony z kilku różnych symboli, tracąc w ten sposób pożądany efekt (patrz przykład 4 w załączonym arkuszu kalkulacyjnym).

Jednym ze sposobów przezwyciężenia tego ograniczenia jest użycie instrukcji JEŻELI, takiej jak:

=JEŻELI(A21<0,POWT(„n”,ABS(A21/10)),POWT(„n”,A21/10))

Wyjaśnienie powyższego wzoru:

1. Załóżmy, że wartość, którą próbujesz pokazać na wykresie słupkowym, znajduje się w komórce A21. Ta wartość jest również ujemna.

2. Formuła zaczyna się od stwierdzenia, czy wartość w komórce A21 jest mniejsza niż 0, czyli ujemna, a następnie powtórz „n” przez wartość bezwzględną (ABS) zawartą w komórce A21, a następnie podziel tę liczbę przez 10. Używając wartości bezwzględnej, powiedz Excelowi, aby zignorował znak ujemny i potraktował liczbę jako wartość dodatnią.

3. Kolejna część formuły mówi Excelowi, co zrobić, jeśli wartość jest większa niż 0.

4. Proszę odnieść się do przykładu 4 w załączonym pliku.

Ciekawym dodatkiem do powyższego byłoby użycie formatowania warunkowego, aby zmienić kolor wykresu na czerwony dla wartości ujemnych i niebieski dla wartości dodatnich. Niech Twoja wyobraźnia Cię poprowadzi!

Poniższy samouczek opisuje, jak utworzyć wykres w komórce, takiej jak ta wyświetlana w powyższej tabeli w kolumnie „Trend”.

Wykres jest tworzony za pomocą funkcji o nazwie „CellChart”. Wprowadzasz ją w Excelu jak każdą inną standardową funkcję, tj. SUMA, ŚREDNIA lub WYSZUKAJ.PIONOWO itp. Ta funkcja nazywa się „Funkcją zdefiniowaną przez użytkownika” i nie jest standardową funkcją dostępną w programie Microsoft Excel. Musi być utworzony przez użytkownika przy użyciu VBA.

Po wprowadzeniu do Excela funkcja CellChart wygląda tak:

Przyglądając się bliżej funkcji CellChart, zakres wykresu jest zdefiniowany w pierwszej części funkcji, C3:F3 w powyższym przykładzie. Następnie definiowany jest kolor wykresu, 203 korzystając z powyższego przykładu.

Teraz do rzeczy VBA

1. Wejdź do okna projektu VBA, klikając prawym przyciskiem myszy nazwę arkusza i wybierając „Wyświetl kod” lub wybierając „ALT, F11”.

2. Po prawej stronie kliknij prawym przyciskiem myszy nazwę swojego projektu i wybierz wstawkę „moduł”.

3. Skopiuj i wklej następujący kod do nowo utworzonego modułu:

'Tworzy nową funkcję o nazwie Cell Chart Function CellChart(Plots As Range, Color As Long) As String 'Definiuje zmienne, które będą później używane w kodzie Const cMargin = 2 Dim rng As Range, arr() As Variant, i As Long, j As Long, k As Long Dim dblMin As Double, dblMax As Double, shp As Shape If j = 0 Then j = i ElseIf Plots(, j) > Plots(, i) Then j = i Koniec If jeśli k = 0 Then k = i ElseIf Plots(, k) 
 0 Then .Line.ForeColor.RGB = Color Else .Line.ForeColor.SchemeColor = -Color End With End With CellChart = "" End Function Sub ShapeDelete(rngSelect As Range) 'Definiuje zmienne, które będą używane później w kodzie Dim rng As Range, shp As Shape, blnDelete As Boolean Dla każdego shp In rngSelect.Worksheet.Shapes blnDelete = False Set rng = Intersect(Range(shp.TopLeftCell, shp.BottomRightCell), rngSelect) Jeśli nie rng jest niczym, to jeśli rng .Address = Range(shp.TopLeftCell, shp.BottomRightCell).Address Then blnDelete = True End If If blnDelete Then shp.Delete Next End Sub 

4. Kliknij przycisk Zapisz.

5. Kliknij małą ikonę Excela w prawym górnym rogu pod menu „Plik”, aby wyjść z okna projektu VBA i wrócić do Excela

6. Wprowadź funkcję CellChart do dowolnej komórki, jak pokazano powyżej.

7. Zobacz załączony skoroszyt, aby zapoznać się z roboczym przykładem powyższego.

Aby uzyskać więcej informacji na temat tego typu wykresów w komórkach, odwiedź:

W wykresach komórkowych

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave