ãã®ç©èªã¯ãå ¥ç€ŸããŠäžå¹Žç®ã®æ°äººç€Ÿå¡ãäžåžã®æåã®ããšãæ¥åãèªååããŠããæ§ãèšãããã®ã§ããç©èªã¯ãã£ã¯ã·ã§ã³ã§ãããèªååã®ææ³ã¯å®éã«ããœã³ã³ãã¹ããŒããã©ã³ã§å®è·µã§ãããã®ã§ãã®ã§ãç©èªãšèªååäœæ¥ã®äž¡æ¹ã楜ãããŸãã(ååã®ã¹ããŒãªãŒã¯ãã¡ã)
ååãç·æ¥ããã·ã§ã³ãããªããåã«ãçŸäººäžåžã®å€ªç°å 茩ãããæŒã飯ã奢ã£ãŠãããããšã«ãªã£ãããã¡ãããäž»ã«ä»äºãããªããã®ã¯å€ªç°å 茩ãªã®ã ããäžåžã«å¥¢ã£ãŠããããã®ã¯éšäžã®ç¹æš©ãªã®ãããäŸããããç䞌å±ã ã£ããšããŠãã
倪ç°å 茩ãåŸ ãããªããããæ¥ãã§æºã®äžãçä»ããŠããªãã£ã¹ãåºããšãããã«ã¯ã倪ç°å 茩ã«å ããŠãåãçµçéšã®äœè€å 茩ãå± ãããããŒãããããã«äºäººããã§ã¯ãªãã£ããã»ã»ã»ããšããã£ãããã€ã€ãäžäººã§æ©ãåºãããã¡ãªã¿ã«ãäœè€å 茩ã¯ãããã£ãšé«èº«é·ã®30æç¬èº«ç·ã ãããèšãã°ã倪ç°å 茩ãšäœè€å 茩ã話ããŠããã®ãããèŠããããªãã
ãããªè€éãªæãã§å é ãæ©ããŠããåã¯ãç䞌å±ã«å ¥ãã¹ãåºã®åã§ç«ã¡æ¢ãŸã£ãããã®æã倪ç°å 茩ãåãåŒã³æ¢ããã
ãç°äžåããæŒã¯ç䞌ã§ã¯ãªããŠã寿åžã«ãªã£ãã®ãã
ããªããããªãç䞌ãã寿åžã«ïŒïŒããšé©ããŠããåã«ã倪ç°å
茩ã¯ç¬é¡ã®ãŸãŸç䞌å±ã®æ°ä»¶é£ã«ãã寿åžå±ã«å
¥ã£ãã寿åžå±ã®ããŒãã«åžã«ãŠããã€ããã§ãããšã倪ç°å
茩ãåã«è³ªåããŠããã
ãç°äžåãããã°ã©ãã³ã°ã圹ç«ã€ããšã¯ããåãã£ãã§ãããïŒã
ãã¯ãã倪ç°å
茩ãå
茩ããããã°ã©ãã³ã°ã®çŽ æŽããããæããããšãã§ããŠå
æ ã§ããã
ãç°äžåã倧ããããããã§ãããã€ãããã°ã©ãã³ã°ãããã®ãæ£ãããšããããã§ã¯ãªãã®ããããããã°ã©ã ãäœããªãæ¹ãè¯ãå Žåãããã®ãã
ããïŒã©ãããããšã§ããïŒã
ãããã¯ãããã°ã©ã ãäœããªãã§æäœæ¥ã§ãã£ãæ¹ãæ©ãå Žåããã
ã確ãã«ãããã°ã©ã ãäœããªããŠãè¯ããªããæäœæ¥ã§ããã®ãæ®éã§ããããã
ãã®ãšããäœè€å 茩ãå£ãæãã§ããã
ããããïŒïŒäººã¯ããã°ã©ãã³ã°ãèŠãããšããã¹ãŠãããã°ã©ãã³ã°ã§çä»ããããªãçãç©ãªã®ã ããã
確ãã«ãåã¯è¯éºãªå€ªç°å 茩ã®ããã°ã©ãã³ã°ã®è ã«å¿é ããäžçã®ããããåºæ¥äºãããã°ã©ãã³ã°ã§è§£æ±ºã§ãããšæã蟌ãã§ãããäœè€å 茩ãç¶ããã
ãããã°ã©ãã³ã°ã¯æè©®ã¯ææ®µãªã®ã§ãã£ãŠç®çã§ã¯ãªããããèšããããã§ãããã倪ç°å
茩ïŒã
äœè€å 茩ã¯ã倪ç°å 茩ã«ç¬é¡ãåããããããšã倪ç°å 茩ãç¶ããã
ããããªã®ãããã°ã©ãã³ã°ã®å®åã¢ããã®ãããšæã£ãŠãããªããæåã¯ããã°ã©ãã³ã°ã«æéãæããããšãæªãããšã§ã¯ãªãããã©ããã®ä»äºããã£ãšãæ©ãçä»ããæ¹æ³ã¯äœããèããã¹ãããã
倪ç°å 茩ã¯ããã«ç¶ããã
ãããã°ã©ã ãäœããããæäœæ¥ãæ©ããã°ãããããã¹ãã ããçŽã«å°å·ããŠèµ€ãã³ã§æžã蟌ãã ãããµãã§åã£ããããã®ãæ©ãã®ãªããããããã¹ããªã®ãã€ãŸããäœæ¥ã«åããããåã«ãããããå¯èœæ§ãèããŠã¿ãŠãã©ã®æ¹æ³ã§åé¡ã解決ããã®ãæãæ£ç¢ºãã€æ©ãä»äºãçµããããšãã§ããã®ãæ€èšããå¿
èŠããããšããããšãªã®ãã
åã¯ãããèããŠãããŒããæ©ãå 茩ãã¡ã®ããã«ãã§ãã倧人ã«ãªããããªããããšçããã®ãç²Ÿäžæ¯ã ã£ãã
ãããŠã倪ç°å 茩ããææŽãã«å Žæãå€ããæã®ããšãäœè€å 茩ãåã«å°å£°ã§è©±ããããŠããã
ããããç°äžã倪ç°å
茩ã¯ãä»äºãã§ããããæ°ãå©ãããå匷ç±å¿ã§ãæçãäžæããšã«ãããçŽ æŽããã人ãªãã ãããããå®ç§ããããããããªããŠãã¡ãã£ãšæããŠãããšããããã£ãŠãæé«ãªãã ã俺ã®èšã£ãŠããæå³ãåããããªïŒã
ããïŒããã£ãŠã»ã»ã»ãåãé©ããŠãããšã倪ç°å 茩ãåž°ã£ãŠãããããã§ããã®è©±ã¯çµãã£ãã®ã ããã©ãããäœè€å 茩ã倪ç°å èŒ©ã«æããŠãããšããããšã§ééããªãããã ã
ãã®ãšããçŸå³ããããªã寿åžãã¬ãŒããéã°ããŠãããçŸããã寿åžãæºã®äžã«å人å䞊ãã ããããïŒå人åã§ããïŒãåãäžæè°ãããªé¡ãããŠãããšãããžã寿åžå±ã«ããäžäººå ¥ã£ãŠãããååç·æ¥ããã·ã§ã³ãæã£ãŠããçŒé¡çŸäººã®ç¬¹å·ããã ã
ã©ãããã笹å·ãããããã·ã§ã³ã¯ãªã¢ã®ã瀌ãšããŠå¥¢ã£ãŠãããããšã«ãªããç䞌ãã寿åžã«ããŒãžã§ã³ã¢ããããããã ãåãã¯ç¬¹å·ããããçŸå³ããã寿åžãã銳走ã«ãªã倧æºè¶³ã ã£ãã
ããŠããã®æ¥ã®ååŸãåã«å²ãåœãŠãããä»äºã¯ãå¶æ¥éšã®æçžŸã°ã©ããäœãããšã ã£ããå¶æ¥éšã§ã¯æäžåã®äŒè°ã®ãã³ã«ã売äžé¡ã®æçžŸã°ã©ããåºããŠææçºè¡šäŒãããã®ãéäŸãšãªã£ãŠãããå¥çŽã®çš®é¡ããšã«ã誰ããããå¥çŽãåã£ãã®ããšããã°ã©ãã ã
åã¯ããã°ã©ãã³ã°åå¿è ã§ãããã®ã®ãExcelèªäœã®æäœã«ã¯ç¿çããŠãããæçžŸã°ã©ãã®äœæããããã£ãšããéã«çä»ããããšãã§ãããã§ããããã£ãŠãæ¯æäžåããä»äºãªãã ãããåã¯ãã°ãèããŠãã倪ç°å 茩ã«è¿ã¥ããŠå°ããã
ã倪ç°å
茩ãå
ã»ã©é ŒãŸããæçžŸã°ã©ãã®äœæãªãã§ããã©ãããã£ãŠããã°ã©ã ãäœãã¹ãã§ããïŒæäœæ¥ã§ãã£ãæ¹ãæç¶æ©ãçµãããã§ããã©ãã
ãããšã倪ç°å
茩ã¯éã«è³ªåããŠããããç°äžåã¯ã©ãæãã®ïŒã
åã¯å ã»ã©èããçµè«ãè¿°ã¹ãã
ããã£ãšãä»åã¯ããã°ã©ã ãäœãã¹ããšæããŸãããã¡ãããä»¶æ°ãå€ããšã¯ããæçžŸã°ã©ããäœãäœæ¥èªäœã¯ãããã»ã©å€§å€ã§ã¯ãããŸããããããããã®ä»äºã¯æ¯æãçºçããä»äºã§ããä»åãå€å°æéãããã£ããšããŠãããã°ã©ã ãäœã£ãŠããã°ãæ¥æä»¥éãæ¥œãã§ãããšæãã®ã§ãããã©ãæããŸããïŒã
ãããšã倪ç°å
茩ã¯ç¬é¡ã§çããããç°äžåãããèŠæ¥µããããšãã§ããããã宿çã«çºçããããšãåãã£ãŠããä»äºã§ãããªããããã°ã©ã ãäœãããšããªã¹ã¹ã¡ããããããã°ã©ã ãäœã£ãŠããããšã§ãä»äºãã·ã¹ãã åã§ãããšããã¡ãªããããããããã
ãã·ã¹ãã åã§ããïŒãåãäœã®ããšã ãåãããªããšãã声ãäžãããšã倪ç°å 茩ã¯åªãã解説ããŠãããã
ããã·ã¹ãã åããšã¯ã誰ããã£ãŠãåãææãçã¿åºããäœå¶ã®ããšããã€ãŸããä»äºã®æé ãããã°ã©ã ã«ããŠãããªããç°äžåã®éšçœ²ãå€ãã£ãŠãã®çŸå Žãé¢ãããšããŠããå¥ã®äººãåŒãç¶ãã§åãçµæãåºãããšãã§ããã®ããã
ããªãã»ã©ãåãçªç¶æ»ãã ãšããŠããæ®ããã人ãå°ãããšãªãä»äºãé²ããããšãã§ãããšããããšã§ãããã
ãç°äžåãå ¥ç€Ÿæ©ã ã«æ»ãã§ããã£ãŠã¯å°ãããã§ããããããããšããããšå€ªç°å 茩ã¯åªãããã©ããŒããŠããããããã«ã倪ç°å 茩ãåã«æ°åããå ¥ããŠãããã
ãç°äžåãæ¯æã®æçžŸã°ã©ãã3ç§ã§åºããããã·ã¹ãã åããã®ãïŒã
åã¯ã§ããæ°ã«ãªã£ãŠãã¯ãïŒä»»ããŠãã ããïŒããšèšã£ããã®ã®ãããã°ã©ã ã®äœãæ¹ã¯ããããåãããªãã£ãã
ããã§ã倪ç°å 茩ãåãäœãæ¹ãããããåãããªããã§ããæããŠãã ãããããšæããè«ããšããæ®å¿µãç§å¿ããã®ãããšæãããŠããŸã£ãããã®ä»£ãããVBAå ¥éã®æ¬ã貞ããŠãããã
ãšã¯èšããæ¬ãèªãã§ãé£ããã£ãã®ã§ãææµã§ããäœè€å 茩ã®åãåããããšã«ãªã£ãã®ã ãããªããšãããã°ã©ã ã宿ãããããšãã§ããã
ã倪ç°å 茩ãåãåºæ¥ãŸããïŒããšããã°ã©ã ãèŠãããšã倪ç°å èŒ©ãæºé¢ã®ç¬é¡ã§ãããåºæ¥ãããããšè€ããŠãããã®ãå¬ããã£ãããã ããäœè€å 茩ããã»ãšãã©ä¿ºãæãããã ãã©ãªããšå€ªç°å 茩ã«åãå£ããŠããã®ãè§£ããªãã£ãããæ©ãäžäººã§äœã§ãäœããããã«ãªãããïŒããšåŒ·ãæã£ãã®ã ã£ãã
å®éã®ããã°ã©ã
ããã§ã¯ãä»åãæ°äººã®ç°äžåãã©ã€ãã«ïŒïŒïŒã®äœè€å 茩ãšåãåãããŠé 匵ã£ãŠäœã£ãããã°ã©ã ã玹ä»ããŸãããã ãªããä»åã®ãµã³ãã«ããŒã¿ããã³VBAãã¯ãå ¥ãã®ããŒã¿ã¯ããã¡ãããããŠã³ããŒãããããšãã§ããŸãã
æåã«ãå¶æ¥éšã®æçžŸããŒã¿ã§ããã以äžã®ãããªåœ¢åŒã®ExcelããŒã¿ã«ãªã£ãŠãããšããŸãããã
ãããŠããã®ããŒã¿ãå ã«ãåå¥çŽã®çš®å¥ããšã«ã°ã©ããäœæããŸãããã®éãæ åœããšã®å¥çŽéé¡ãéèšããŠã°ã©ããäœæããŸãã
å ããŒã¿ã«ã¯ãå¥çŽäžä»¶ããšã®å¥çŽéé¡ãèšé²ãããŠããŸãããã®ãããã°ã©ããäœãæé ã¯ä»¥äžã®ããã«ãªããŸãã
ã»ïŒ1ïŒå¥çŽçš®é¡ããšã«ããŒã¿ãåãã
ã»ïŒ2ïŒåå¶æ¥æ
åœããšã«å¥çŽéé¡ãåèšãã
ã»ïŒ3ïŒäžèšããŒã¿ã«å¯ŸããŠã°ã©ããäœæãã
Excelã«æ £ããŠããæ¹ã§ããã°ãäžèšã®äžã€äžã€ã®æé ãåŠçããã®ã¯é£ãããããŸãããããããæ¬æã§ç°äžåãæ°ã¥ããããã«ãã°ã©ããåºåãããŸã§ã®æé ãVBAã®ãã¯ãã«ãŸãšããŠããã°ãExcelã«æ £ããŠããªã人ã§ãæè»œã«ã°ã©ããäœæããããšãã§ããŸãããé¢åãªæäœæé ãçµãŠã°ã©ããäœæããæéãçããŸãã
å®éã«VBAãã¯ããå®è¡ããŠã¿ãŸãããã
ãŸããå¥çŽäžèЧããŒã¿ãçšæããŸããïŒãã®ãšããããŒã¿åœ¢åŒã¯äžèšã®æžåŒã«ããŠããå¿ èŠããããŸããïŒãããŠã[Alt] + [F11]ããŒãæŒããŠVBAãšãã£ã¿ãèµ·åããŸãããããŠãå¥çŽäžèЧã®ã·ãŒããéžæããŠã以äžã®ããã°ã©ã ã貌ãä»ããŸãããã
Sub MakeSubGraph(GType)
' éèšçšã®èŸæž --- (*1)
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
' æçµè¡ãåŸã --- (*2)
lastRow = Range("A1").End(xlDown).Row
' ç¹°ãè¿ãã»ã«ã調ã¹ã
For i = 1 To lastRow
aname = Cells(i, 1).Value
atype = Cells(i, 3).Value
aprice = Cells(i, 4).Value
If atype = GType Then
If Not dic.Exists(aname) Then
dic.Add aname, aprice
Else
dic.Item(aname) = CLng(dic.Item(aname)) + CLng(aprice)
End If
End If
Next
' çµæãåºå --- (*3)
Dim sheet As Worksheet
Set sheet = Worksheets.Add
sheet.Name = GType
i = 1
For Each Key In dic.Keys
sheet.Cells(i, 1).Value = Key
sheet.Cells(i, 2).Value = dic.Item(Key)
i = i + 1
Next
' ã°ã©ããäœæ --- (*4)
sheet.Shapes.AddChart2(286, xl3DColumnClustered).Select
ActiveChart.SetSourceData Source:=sheet.Range("A:B")
ActiveChart.ChartTitle.Text = GType
End Sub
' å¥çŽã®çš®é¡ããšã«ã°ã©ããäœæãã--- (*5)
Sub MakeGraph()
MakeSubGraph ("ãªãã©ãŒã ")
MakeSubGraph ("äžå€äœå®
")
MakeSubGraph ("æ°ç¯äœå®
")
End Sub
ãããŠããšãã£ã¿äžéšã®å®è¡ãã¿ã³ãæŒãããã¡ãã¥ãŒãã[å®è¡] > [Sub/ãŠãŒã¶ãŒãã©ãŒã ã®å®è¡]ãã¯ãªãã¯ããŸãããã¯ãã®éžæãã€ã¢ãã°ã衚瀺ãããããSheet1 > MakeGraphããéžãã§å®è¡ããŸãã
ãããšãå¥çŽçš®é¡ããšã«æ°èŠã·ãŒããäœæãããããã«å¶æ¥ããšã®åèšå¥çŽéé¡ã®è¡šãšã°ã©ããèªåäœæãããŸãã
ããã°ã©ã ã®ç°¡åãªè§£èª¬
ããã°ã©ã ã®(ïŒ1)ã§ã¯ãå¶æ¥åŸãšã®å¥çŽéé¡ãéèšããããã«ãDictionaryåã®ãªããžã§ã¯ããäœæããŸããããã¯ãmacOSã®Excelã§ã¯äœ¿ããªãWindowsã®VBAãªãã§ã¯ã®æã§ãããããŒã¿ã®éèšã«äžã«äŸ¿å©ãªæ©èœã§ãã䜿ãããŠããŸãããã®Dictionaryãšã¯ã飿³é åãšåŒã°ãããã®ã§ãããŒãšå€ãã»ããã«ããŠããŒã¿ãæäœã§ããŸãã
ãããŠã(ïŒ2)ã®éšåã§ã¯ãå¥çŽäžèŠ§è¡šã®æçµè¡ã調ã¹ã衚ã®äžè¡ç®ããããŒã¿ã確èªããŠãããŸããã»ã«ã®1åç®(å¥çŽæ åœ)ã3åç®(å¥çŽçš®é¡)ã4åç®(å¥çŽéé¡)ã調ã¹ãå¥çŽæ åœããšã«å¥çŽéé¡ãåèšããŠãããŸãã
(ïŒ3)ã®éšåã§ã¯æ°èŠã·ãŒããäœæãã(ïŒ2)ã®éšåã§éèšããå¥çŽéé¡ã®è¡šãã»ã«ã«æžã蟌ãã§ããŸããæåŸã«(ïŒ4)ã®éšåã§ã(ïŒ3)ã§æžã蟌ãã 衚ãå ã«ããŠãã°ã©ããäœæããŸãã
ãŸãšã
ä»åã¯ã倧éã®ããŒã¿ãäžæ°ã«çä»ããã®ã§ã¯ãªãã宿çã«çºçããã¿ã¹ã¯ãééããªã決ããããæé ã§çŽ æ©ãåŠçããæ¹æ³ã®å€§åãã«ã€ããŠç޹ä»ããŸãããå®éãããã°ã©ã ãäœã£ãŠããããšã§ãè€éãªExcelæäœãããããšãªããããŒã¿éèšåŸã®ã°ã©ããèªåäœæã§ããã®ã¯ããšãŠã䟿å©ã§ã¯ãªãã§ãããããæ¥åèªååã®åèã«ããŠã¿ãŠãã ããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿ã2010幎 OSSè²¢ç®è ç« åè³ãæè¡æžãå€ãå·çããŠããã





