ドロップダウンリストを使用した動的チャートの作成方法
可能な使用シナリオ
Excelでのドロップダウンリストを使用した動的チャートは、選択したデータに基づいてダイナミックに更新されるインタラクティブなチャートをユーザーが作成できる強力なツールです。この機能は、複数のデータセットを分析したり、さまざまなシナリオを比較したりする必要がある状況で特に有用です。
ドロップダウンリストを使用した動的チャートの一般的な応用例は、財務分析です。たとえば、企業には異なる年や部門の複数の財務データがあるかもしれません。ドロップダウンリストを使用することで、ユーザーは分析したい特定のデータセットを選択し、チャートは自動的に対応する情報を表示します。これにより、簡単に比較し、トレンドやパターンを特定できます。
もう1つの応用例は、営業とマーケティングです。企業には異なる製品や地域の販売データがあるかもしれません。ドロップダウンリストを使用した動的チャートでは、ユーザーはドロップダウンリストから特定の製品や地域を選択し、チャートは選択したオプションの販売実績を動的に表示します。これにより、トップのパフォーマンスエリアや製品を特定し、データに基づいた意思決定が行えます。
要するに、Excelでのドロップダウンリストを使用した動的チャートは、データを柔軟にインタラクティブに可視化および分析する手段を提供します。複数のデータセットを比較したり、さまざまなシナリオを探ったりする必要がある状況で価値があり、財務分析、営業とマーケティングなど様々な応用に使える多目的なツールです。
Aspose.Cells for Python via .NETを使用して、動的チャートにドロップダウンリストを作成
次の段落では、Aspose.Cells for Python via .NETを使ったドロップダウンリスト入り動的チャートの作成方法を紹介します。例のコードと、それを用いて作成したExcelファイルも示します。
サンプルコード
次のサンプルコードでは、ドロップダウンリストファイルを生成します。
from aspose.cells import BackgroundType, CellArea, ValidationType, Workbook | |
from aspose.cells.charts import ChartType | |
from aspose.pydrawing import Color | |
# How to Create a Dynamic Chart with Dropdownlist | |
# Your local test path | |
LocalPath = r"" | |
# Create a new workbook and access the first worksheet. | |
workbook = Workbook() | |
sheets = workbook.worksheets | |
sheet = sheets[0] | |
# Populate the data for the chart. Add values to cells and set series names. | |
sheet.cells.get("A3").put_value("Tea") | |
sheet.cells.get("A4").put_value("Coffee") | |
sheet.cells.get("A5").put_value("Sugar") | |
# In this example, we will add 12 months of data | |
sheet.cells.get("B2").put_value("Jan") | |
sheet.cells.get("C2").put_value("Feb") | |
sheet.cells.get("D2").put_value("Mar") | |
sheet.cells.get("E2").put_value("Apr") | |
sheet.cells.get("F2").put_value("May") | |
sheet.cells.get("G2").put_value("Jun") | |
sheet.cells.get("H2").put_value("Jul") | |
sheet.cells.get("I2").put_value("Aug") | |
sheet.cells.get("J2").put_value("Sep") | |
sheet.cells.get("K2").put_value("Oct") | |
sheet.cells.get("L2").put_value("Nov") | |
sheet.cells.get("M2").put_value("Dec") | |
allMonths = 12 | |
iCount = 3 | |
for i in range(iCount): | |
for j in range(allMonths): | |
_row = i + 2 | |
_column = j + 1 | |
value = 50 * (i % 2) + 20 * (j % 3) + 10 * (i / 3) + 10 | |
sheet.cells.get(_row, _column).put_value(value) | |
# This is the Dropdownlist for Dynamic Data | |
ca = CellArea() | |
ca.start_row = 9 | |
ca.end_row = 9 | |
ca.start_column = 0 | |
ca.end_column = 0 | |
_index = sheet.validations.add(ca) | |
_va = sheet.validations[_index] | |
_va.type = ValidationType.LIST | |
_va.in_cell_drop_down = True | |
_va.formula1 = "=$B$2:$M$2" | |
sheet.cells.get("A9").put_value("Current Month") | |
sheet.cells.get("A10").put_value("Jan") | |
_style = sheet.cells.get("A10").get_style() | |
_style.font.is_bold = True | |
_style.pattern = BackgroundType.SOLID | |
_style.foreground_color = Color.yellow | |
sheet.cells.get("A10").set_style(_style) | |
# Set the dynamic range for the chart's data source. | |
index = sheets.names.add("Sheet1!ChtMonthData") | |
sheets.names[index].refers_to = "=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)" | |
# Set the dynamic range for the chart's data labels. | |
index = sheets.names.add("Sheet1!ChtXLabels") | |
sheets.names[index].refers_to = "=Sheet1!$A$3:$A$5" | |
# Create a chart object and set its data source. | |
chartIndex = sheet.charts.add(ChartType.COLUMN, 8, 2, 20, 8) | |
chart = sheet.charts[chartIndex] | |
chart.n_series.add("month", True) | |
chart.n_series[0].name = "=Sheet1!$A$10" | |
chart.n_series[0].values = "Sheet1!ChtMonthData" | |
chart.n_series[0].x_values = "Sheet1!ChtXLabels" | |
# Save the workbook as an Excel file. | |
workbook.save(LocalPath + "DynamicChartWithDropdownlist.xlsx") |
メモ
生成されたファイルでは、チャートは選択した月のデータを動的にカウントします。これはサンプルコードでの「OFFSET」式の使用によって行われます。
"=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)"
セル"Sheet1!$A$10"のドロップダウンリストの値を変えると、チャートの動的な変化を見ることができます。これにより、Aspose.Cells for Python via .NETで動的チャートとドロップダウンリストの作成に成功しました。