teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記しました。

2021/01/22 09:56

投稿

_whitecat_22
_whitecat_22

スコア1305

answer CHANGED
@@ -24,4 +24,33 @@
24
24
  for row, cellObj in enumerate(list(ws.columns)[1]): # 最後の')'を追加
25
25
  n= '=vlookup(A%d,C:C,1,false)' %(row+1)
26
26
  cellObj.value = n
27
+ ```
28
+
29
+
30
+ ---
31
+
32
+ 【追記】
33
+ 追加質問に回答します。
34
+ 下記コードで正しく動きます
35
+ ⇒ B列(2列目)に、指定した関数が設定(記入)されます。
36
+
37
+ ```python
38
+ import openpyxl as px
39
+
40
+ wb = px.load_workbook('C:/Users/xxxxxxxx/~/excelfile.xlsx')
41
+ ws = wb.worksheets[0]
42
+
43
+ #新しい列を2列目に挿入(エクセルデフォルト風にいうとB列の部分の挿入)
44
+ ws.insert_cols(2)
45
+ #新しい列を19列目に挿入
46
+ ws.insert_cols(19)
47
+
48
+ ws['B2'] = '=vlookup(A2,C:C,1,false)'
49
+ #みんな大好きLookup
50
+
51
+ for row, cellObj in enumerate(list(ws.columns)[1]):
52
+ n = '=IFERROR(VLOOKUP(I%d,データ元ファイル!$I:$N,6,0),0)' % (row+1)
53
+ cellObj.value = n
54
+
55
+ wb.save('C:/Users/xxxxxxxx/~/excelfile.xlsx')
27
56
  ```