○方法その1
INDEX関数とMATCH関数を使います。
このとき常にアタマに入れておくのは,「結合セルはその左上のセルにデータを持っている」ということです。
結果の式を教わってハッピーじゃなく,途中の経緯をよく理解して数式を組みましょう。
1/1の大阪の販売金額を参照してみます。
まずシート1の1/1は「A5セルにある」ことを確認します
同様に,シート2の1/1はA3セルにある事を確認します。
すると
=MATCH(A5,Sheet2!A:A,0) とすることで,
シート1A5の1/1は,シート2の3行目にあるよと判りましたね。
次にシート2の1/1の販売金額は「4行目」にあります。常に結合セルの左上のセルの,一つ下の行にあります
従って答えは
=INDEX(Sheet2!D:D,MATCH(A5,Sheet2!$A:$A,0)+1)
のように得られます。
○方法その2(関数の勉強ではなく,応用テクニック)
VLOOKUP関数は,必ず「同じ行のデータ」しか参照できません。
先にお話したようにシート2の販売日の実体データは結合セルの上のセルにありますから,VLOOUP関数は同じ行の返品金額だけしか参照してくる事が出来ません。
大阪の返品金額:
=VLOOKUP(A5,Sheet2!A:G,4,FALSE)
繰り返しになりますがVLOOKUPで販売金額を取ってこれないのは,販売金額の行は結合セルの下の行で,そこには「何も入っていない」からです。
逆に言うと,そこにも実は販売日のデータ(結合セルの上側セルの値)が「入っていれば」,問題なくVLOOKUPが使えます。
手順:
準備として,シート2のセル範囲A3:A8をコピー,H3セルを選んで型式を選んで貼り付けの「リンク貼り付け」をしておきます
2000/1/1
1900/1/0
2000/1/2
1900/1/0
2000/1/3
1900/1/0
と結果が並びます。ゼロのセルは,日付の書式では1900/1/0と表示されます。
H1セルを空っぽにしておきます
H2セルに =H1+0.5 と式を入れます
H1:H2をコピーします
A3:A8を選び,型式を選んで貼り付けの数式にマーク,更に空白セルを無視するにチェックを入れて,OKします。
先に準備したリンクの式が
2000/1/1
2000/1/1
2000/1/2
2000/1/2
2000/1/3
2000/1/3
と変わればとりあえず成功です。
更に,リンクの式のセルの書式設定を,日付と時刻に変更します。
2000/1/1 0:00
2000/1/1 12:00
2000/1/2 0:00
2000/1/2 12:00
2000/1/3 0:00
2000/1/3 12:00
のように計算できていれば,大成功です。
VLOOKUP関数で1/1の販売金額を参照してくるには,日付+0.5を今記入したので
大阪の販売金額
=VLOOKUP(A5+0.5,Sheet2!A:G,4,FALSE)
のようになります。