ãã®ç©èªã¯ãå ¥ç€ŸãããŠã®æ°äººç€Ÿå¡ãç°äžåãæ¥åãèªååããŠããæ§ãèšãããã®ã§ããç©èªã¯ãã£ã¯ã·ã§ã³ïŒæã ãã³ãã£ã¯ã·ã§ã³ïŒã§ãããèªååã®ææ³ã¯å®éã«ããœã³ã³ãã¹ããŒããã©ã³ã§å®è·µã§ãããã®ã§ãã®ã§ãç©èªãšèªååäœæ¥ã®äž¡æ¹ã楜ãããŸãã
ãç©èªã
æ°åã³ãããŠã€ã«ã¹ã®äžççæµè¡ãã1幎ãçµã£ãŠå€ãã®äººã®ç掻ã«å€åããã£ããä»äºããªããã人ããããåã®ããã«å ¥ç€Ÿããã°ããã®äžã£ç«¯ã¯äŒç€Ÿã®æ¥çžŸãæªããªãã°çã£å ã«åãããŠããŸããããããªããšæããšèãçããªãæ¥ã ã ã
ä»ã¯ç·æ¥äºæ 宣èšãåºãŠããæäžã ãããããŸã§éãäŒç€Ÿã«è¡ããªããšã§ããªãä»äºãå€ããããã§æã瀟ã§ã¯åºç€Ÿæéãšé瀟æéãççž®ãã€ã€ãã§ããããšã¯åšå® ã§ããããã«ãšããæç€ºãšãªã£ããåã®æ¬æããçŸäººäžåžã®å€ªç°å 茩ãæåããç¶æ³ã«æžæã£ãŠããææããã£ãããä»ã§ã¯èªåã®ä»äºãããªããªããªãã€ã€ãã¿ããªã«çްããæ°ãé ã£ãŠãããããããšèšããããªãã
ã§ãã人ãšããã®ã¯ãåšãã®ç¶æ³ãå€åããŠãããã®äžã§æåã®æ¹æ³ãèããŠååãã«æ©ãã§è¡ããå®ã«é Œããããããã«å¿ããèŠå£ããããšæã£ãŠããããã©ããªããªãæãéãã«ã¯ãããªããåã¯ãšèšãã°ãç°å¢ã®å€åã倧ããããŠäœãããŠè¯ãã®ãåããããå³åŸå·ŠåŸããã°ãããäŒè°ã§ãäœã®è¯ãã¢ã€ãã¢ãåºãããæ¥ã èšãããéãããã ããå 茩ã«ã¯ãã©ããŒããŠãããã°ããã§ç³ãèš³ãªãæ°æã¡ã§ãã£ã±ãã ãããã«ãæè¿ã以åãããé çã®åæ°ãå¢ããŠããæ°ããããæ°ãã€ããªããšã
ãããªããæ¥ãå®äŸäŒè°ã®åŸã倪ç°å 茩ãå人çã«å£°ãæããŠãããã
ãç°äžåãæè¿å
æ°ãªããã©å€§äžå€«ïŒã
ãã¯ãã¯ãããªããšããªã£ãŠããŸããã
ãã³ããçŠã§ç²Ÿç¥çã«èª¿åã厩ããŠãã人ãå€ããããã®ãç°äžåãç¡çããªãã§ãããããªç¶æ³ã§ã¿ããªäœãããã¹ãã¬ã¹ãæããŠãããã ãããäœãæ°ã«ãªã£ãŠããããšããã£ããäœã§ãèšã£ãŠããã
倪ç°å 茩ã®èšèã«æ¶ãåºããã«ãªã£ããä¿¡é Œããå 茩ãäžèšåªããèšèããããŠããããããã ãã§ãã®ãããåãæ²žããŠããã
ã倪ç°å
茩ãããããšãããããŸãããªããå
æ°ãåºãŠæ¥ãŸãããã
ããããããã¯è¯ãã£ããããã£ãã仿¥ã®ä»äºããã£ãŠãããããã®ã ãã©ã100åã®CSVãã¡ã€ã«ãçµåããŠæ¬²ããã®ãã
ã100åã®ãã¡ã€ã«?!ã»ã»ã»å
æ°ãªããªã£ãŠããŸãããã
ããããŠã仿¥ãåããã«ä»äºãå²ãæ¯ããããã³ããçŠã«ãªã£ãŠé¢ä¿ãã®ã¯ã·ã£ã¯ããŠããäŒç€Ÿãããããã ãã©ãæãç€Ÿã¯æèœãªäžåžã®ãããã§ã¡ã³ã¿ã³ã«ã±ã¢ãŸã§äžå šã ã
仿¥ã®ä»äºã¯ãçµçéšãå©çšããŠããäŒèšãœããããåºåããCSVãã¡ã€ã«ãäžã€ã«ãŸãšããããšã ãCSVãã¡ã€ã«ã¯ååŒæ¥è ããšã«100åããããã®100åã®ããŒã¿ãçµåããã
ãã®äœæ¥ã¯ä»åŸæ¯æçºçããããšèšãã®ãããããŸã§çŽã®äŒç¥šã§ãã£ãŠããä»äºãªã®ã ãã©ããã¬ã¯ãŒã¯ã培åºãããããªã³ã©ã€ã³ã§ããŒã¿ãããåãããããšã«ãªã£ãããã ã
ãããªããã§ã仿¥ã¯å€ªç°å 茩ããVBAã§ãã¯ããäœããæ¯æãã¯ããå®è¡ããã ãã§ãCSVãã¡ã€ã«ãExcelã«åã蟌ããããªãã®ãäœã£ãŠæ¬²ãããšèšãããŠããã
åãèããæé ã¯æ¬¡ã®éãïŒ
- ïŒ1ïŒè€æ°CSVãã¡ã€ã«ãéžã¶
- ïŒ2ïŒãã¡ã€ã«ãäžã€ãã€èªãã§Excelã«åã蟌ãã§ãã
- ïŒ3ïŒåã蟌ãæã«äžèŠãªãããè¡ãåé€ãã
Excelãèµ·åãã[Alt]+[F11]ãæŒããŠVBãšãã£ã¿ãéãããããŠããã°ã©ã ãäœã£ããè¥å¹²èŠåŽããå Žé¢ããã£ããã©ãæ¯ææè»œã«100åã®CSVãã¡ã€ã«ãåã蟌ããããã«ãªã£ãã
倪ç°å 茩ã«å ±åãããšå€§ãã«è€ããããããããŠãåãåžã«æ»ããšãåã®ã¹ããã«é»åãããŒãéãããŠæ¥ãããªãã ãããšæã£ãŠãããšã倪ç°å 茩ããã£ãŠããŠã仿¥ã¯æ©ãã«äžãã£ãŠçŸå³ããç©ãè²·ã£ãŠåž°ã£ãŠããä»å€ã¯ãã®éšçœ²ã§ãªã³ã©ã€ã³é£²ã¿äŒãããããç°äžåããã²æ¥ãŠãããšã®äºã ã£ããäŒç€Ÿãããå°ãã®æŽå©ããã£ãããã ã
ãããŠãã©ãããéšçœ²ã®ã¿ããªãå æ°ã®ãªããããªåãèŠãŠãæ°é£ã£ãŠä»å€ã®äŒãèšç»ããŠãããããšãåãã£ããåã¯æããæ°æã¡ã§å®¶è·¯ã«ã€ããã
ïŒïŒïŒãïŒïŒïŒãïŒïŒïŒ
ãããã°ã©ã ãäœããã
ããã§ã¯ãä»åãç°äžåãäœã£ãããã°ã©ã ã玹ä»ããŸããä»åäœã£ãã®ã¯ã100åããCSVãã¡ã€ã«ãé ã«èªã¿èŸŒãã§Excelã«åã蟌ããšãããã®ã§ãã
ã¡ãªã¿ã«ãWindowsã®ããããã¡ã€ã«ã䜿ãã°ãæè»œã«CSVãã¡ã€ã«ãæè»œã«çµåã§ããŸããäŸãã°ã100åã®CSVãã¡ã€ã«ãšåããã©ã«ãã«ãçµå.batããšããååã®ããããã¡ã€ã«ãäœããŸããã¡ã¢åž³ãéããŠä»¥äžã®äžè¡ãæžã蟌ã¿ä¿åããŸãããããã®æãæåã³ãŒãã¯UTF-8ã§ã¯ãªãASCII(Shift_JIS)ãéžã¶å¿ èŠããããŸãã
copy *.csv çµå.csv
ãããŠä¿åããããããã¡ã€ã«ããã«ã¯ãªãã¯ãããšãçµå.csvããšããååã®ãã¡ã€ã«ãäœæãããŸãã
ããããäœæãããCSVãã¡ã€ã«ãExcelã§éããŠã¿ããšãããŒã¿ã®å é ã«ãããããè¡ãéè€ããçŸãããªã衚ã衚瀺ãããŸããã€ãŸãããã çµåããã ãã§ã¯ããã®åŸãããè¡ãåã£ããäžŠã³æ¿ããããšæŽåœ¢åŠçãå¿ èŠãšãªã£ãŠããŸããŸãã
ããã§ãVBAãçšããŠCSVãã¡ã€ã«ãèªã¿èŸŒã¿æŽåœ¢ãããç¶æ ã§Excelã®ã·ãŒãã«å·®ã蟌ãããšãã§ããã°äŸ¿å©ã§ãã
ããã§ãç°äžåãäœã£ãVBAã®ããã°ã©ã ã¯æ¬¡ã®ãããªãã®ã§ãããã¡ããããµã³ãã«ãã¡ã€ã«ãããŠã³ããŒãã§ããŸãã
ãã¡ã€ã«ãã€ã¢ãã°ã§è€æ°ã®CSVãã¡ã€ã«ãæå®ããŸãããããšãããããèªã¿èŸŒãã§Excelã®ã·ãŒãã«å·®ã蟌ããšãããã®ã§ãã
Excelãèµ·åãããããã¯ãæå¹ããã¯ãinsert.xlsmããšããååã§ä¿åããŸãããããããŠã[Alt]+[F11]ããŒãæŒããŠVBãšãã£ã¿ãèµ·åããŸãã以äžã®ããã°ã©ã ãèšè¿°ãããå®è¡ããŠã¿ãŸãããã
Sub è€æ°CSVã®åã蟌ã¿()
' è€æ°ãã¡ã€ã«éžæ --- (*1)
Files = Application.GetOpenFilename( _
"ãã¹ãŠã®ãã¡ã€ã«,*.csv", MultiSelect:=True)
' ãã¡ã€ã«ã®å
容ãèªã¿èŸŒãã§Sheet1ã«æžã蟌ã --- (*2)
Row = 2
For Each f In Files
' ãã¡ã€ã«ãéããŠèªã¿èŸŒã --- (*3)
Open f For Input As #1
Line Input #1, buf ' ãããè¡ãèªã¿é£ã°ã --- (*4)
Do Until EOF(1)
Line Input #1, buf
a = Split(buf, ",") ' ãã£ãŒã«ããåå²ããŠèªã¿èŸŒã --- (*5)
If UBound(a) >= 2 Then
Sheet1.Cells(Row, 1) = a(0)
Sheet1.Cells(Row, 2) = a(1)
Sheet1.Cells(Row, 3) = a(2)
Row = Row + 1
End If
Loop
Close #1
Next
End Sub
ããã°ã©ã ãå®è¡ãããšã以äžã®ãããªãã¡ã€ã«ã®éžæãã€ã¢ãã°ã衚瀺ãããŸããããã§ãåã蟌ã¿ãããã¡ã€ã«ãéžæããŸããShiftããŒãCtrlããŒã䜿ããšè€æ°ã®ãã¡ã€ã«ãéžæã§ããŸãã
ãã¡ã€ã«ãéžæãããšãCSVãã¡ã€ã«ã®1è¡ç®ãèªã¿é£ã°ããAåãBåãCåã«CSVãã¡ã€ã«ã®ãã©ãŒã«ããåã蟌ã¿ãŸãã
ããã°ã©ã ã確èªããŠã¿ãŸãããã(ïŒ1)ã®éšåã§ã¯ãã¡ã€ã«ã®éžæãã€ã¢ãã°ãéããŸãããã®æãMultiSelect:=Trueãšãªãã·ã§ã³ãä»ãããšãè€æ°ã®ãã¡ã€ã«ãéžæã§ããŸãã(ïŒ2)ã§ãã€ã¢ãã°ã§éžæãããã¡ã€ã«ãäžã€ãã€èªã¿èŸŒã¿ãŸãããã®ããã«ãFor Eachæã䜿ããŸãã
(ïŒ3)ã§ã¯CSVãã¡ã€ã«ãéããŸãã(ïŒ4)ã§ã¯äžè¡èªã¿ãŸãããããŠããã¡ã€ã«ã®å é ã«ãã1è¡ç®ã¯ãããè¡ãªã®ã§èªã¿é£ã°ããŸãããããŠãDo Untilæã§ç¹°ãè¿ããã¡ã€ã«ã®æåŸãŸã§ç¹°ãè¿ãèªã¿ãŸãã(ïŒ5)ã§Split颿°ã䜿ã£ãŠCSVã®åºåãèšå·ã§ããã«ã³ãã,ãã§ãã£ãŒã«ããåå²ããŠã·ãŒãã«å€ãæžã蟌ã¿ãŸããããã§ã¯ã3ã€ã®ãã£ãŒã«ãããåã蟌ãã§ããŸããããããããã£ãŒã«ãæ°ãå€ãå Žåã¯ã»ã«ã«èšå®ãã
ãŸãšã
以äžãä»åã¯ãã¡ã€ã«ãã€ã¢ãã°ãå©çšããŠCSVãã¡ã€ã«ãæå®ãããããèªã¿èŸŒããšããããã°ã©ã ãäœã£ãŠã¿ãŸãããVBAã䜿ããšããŒã¿ãå¹ççã«æ±ããããã«ãªãã®ã§äŸ¿å©ã§ããã
ãšããã§ãæ¬é£èŒã®äž»äººå ¬ã§ããç°äžåãã³ããã§æé¬±ãªæ°åã«ãªã£ãŠããŸã£ãããã§ããã³ããçŠã§é 匵ã£ãŠãçãããæ¬åœã«ãç²ãæ§ã§ãããããªæã¯ç¡çãããã€ããŒã¹ãå¿ãããŠãå®¶æãå人ãååãã¡ã«çžè«ã§ãããšè¯ãã§ããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿èªå®ã2010幎 OSSè²¢ç®è ç« åè³ãæè¡æžãå€ãå·çããŠãããçŽè¿ã§ã¯ããã·ãŽããã¯ãã©ã PythonèªååŠçã®æç§æž(ãã€ããåºç)ããããã«äœ¿ãã!æ¥åã§å®è·µã§ãã! Pythonã«ããAIã»æ©æ¢°åŠç¿ã»æ·±å±€åŠç¿ã¢ããªã®ã€ããæ¹ TensorFlow2察å¿(ãœã·ã )ãããã³ã¬ã§ãã£ããåŠã¶Python(ãã€ããåºç)ããªã©ã




