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