回答編集履歴

1

追記しました。

2021/01/22 09:56

投稿

_whitecat_22
_whitecat_22

スコア1305

test CHANGED
@@ -51,3 +51,61 @@
51
51
  cellObj.value = n
52
52
 
53
53
  ```
54
+
55
+
56
+
57
+
58
+
59
+ ---
60
+
61
+
62
+
63
+ 【追記】
64
+
65
+ 追加質問に回答します。
66
+
67
+ 下記コードで正しく動きます
68
+
69
+ ⇒ B列(2列目)に、指定した関数が設定(記入)されます。
70
+
71
+
72
+
73
+ ```python
74
+
75
+ import openpyxl as px
76
+
77
+
78
+
79
+ wb = px.load_workbook('C:/Users/xxxxxxxx/~/excelfile.xlsx')
80
+
81
+ ws = wb.worksheets[0]
82
+
83
+
84
+
85
+ #新しい列を2列目に挿入(エクセルデフォルト風にいうとB列の部分の挿入)
86
+
87
+ ws.insert_cols(2)
88
+
89
+ #新しい列を19列目に挿入
90
+
91
+ ws.insert_cols(19)
92
+
93
+
94
+
95
+ ws['B2'] = '=vlookup(A2,C:C,1,false)'
96
+
97
+ #みんな大好きLookup
98
+
99
+
100
+
101
+ for row, cellObj in enumerate(list(ws.columns)[1]):
102
+
103
+ n = '=IFERROR(VLOOKUP(I%d,データ元ファイル!$I:$N,6,0),0)' % (row+1)
104
+
105
+ cellObj.value = n
106
+
107
+
108
+
109
+ wb.save('C:/Users/xxxxxxxx/~/excelfile.xlsx')
110
+
111
+ ```