質問: excelで元データから週の分を表記させたい。 sheet1 元データ A列 日付 B列 項目(野菜・果物・肉) C列 内容(B列が野菜なら、キャベツ・かぼちゃ・きゅうり等) D列 個数 例) A2 3/2(月)B2 野菜 C2 キャベツ D2 5個 A3 3/2(月)B3 野菜 C3 かぼちゃ D3 3個 A4 3/4(水)B4 肉 C4 豚肉 D4 2個 sheet2 週のデータ A1に月曜日の日付 3/2と入力したら A2~A4結合 3/1(日) A5~A14結合 3/2(月) B5 野菜 C5 キャベツ D5 5個 B6 野菜 C6 かぼちゃ D6 3個 A15~A24結合3/3(火) A25~A34結合3/4(水) B25肉 C25 豚肉 D25 2個 A35~A44結合3/5(木) A45~A54結合3/6(金) A55~A57結合3/7(土) 土日は3行。平日は10行。用意します このように表記させるにはどうしたらよいでしょうか?
回答: 結合すると オートフィルが 全く使えない まず SHEET1の E2に =A2&"-"&COUNTIF(A2:A$3,A2) といれ 下に オートフィル これで 日付毎に 連番が 自動で つきます。 目障りなら 非表示に 次に Sheet2の A2に =A1-WEEKDAY(A1)+1 A2:A4結合 A5に =A2+1 A15に =A5+1 A25に =A15+1 ・ ・ ・ オートフィルで 処理するために B2に =IF(A2="",B1,A2) といれ 下に オートフィル これで B列に 全日付が 入ります、 後は 非表示にします。 次に C2に =IFERROR(INDEX(Sheet1!B:B,MATCH($B2&"-"&ROW(A1),Sheet1!$E:$E,0)),"") といれ E2迄 オートフィル C2:E2を E4まで オートフィル これで 4行まで終わり 次に C5に =IFERROR(INDEX(Sheet1!B:B,MATCH($B5&"-"&MOD(ROW(A10),10)+1,Sheet1!$E:$E,0)),"") といれ E5迄 オートフィル さらに C5:E5をE54まで オートフィル これで 金曜日までが 完成です。 次に C5をC55に 一度コピペして =IFERROR(INDEX(Sheet1!B:B,MATCH($B55&"-"&ROW(A1),Sheet1!$E:$E,0)),"") に 修正 それを E55まで オートフィル C55:E55を E58まで オートフィル これで 完成です。