王道のローデータを「じゃない」ほうの横並びに変える その4

 つづきです


では、ようやっとガッチャンコ(複数のシートを一つ)にします。

ここはVBAに頼ります。

自分で作成できる人もいるだろうし、今どきはCopilotに頼む人も多いかもですが、

ここでは、私が昔から大好きで愛用しているmougのサイトをお借りします。


複数のシートのデータを1つのシートにコピーする

(Excel 2000/2002/2003/2007/2010/2013/2016)

mougさんのサイトにとびます。

ちょっとバージョンが古いことになっていますが、365の環境でも動きました。

mougさんのは複数のシートを一つに集約後、A列にて並べ替えを行っていますが、

並べ替えは不要なので、そこは省いて使います。

※mougさんのこのスクリプトは、非表示シートからも情報を集約してしまいますので、マクロ実行の前には集約不要なシートは削除しておいてください。





さて、いかがでしょう?



以下の表に関数でもっていけそうな気がしませんか?


A列の顧客IDをkeyに、見出し(商品コード1、商品コード2…)が一致していれば、

XLOOKUPで持ってくることが可能です。



と…

ここまで書いておきながら…


ゴメンナサイ


私の私物Excel…


古いからXLOOKUP入ってないんだったーーーースミマセン!!


あ、ぁぁぁぁぁあとは、みなさんのご検討を祈りますっ




ところでXLOOKUPですが、

入れるとしたら、


=IF(XLOOKUP($A2,'[さっきmougのマクロでガッチャンコした.xlsx]AllData'!$A:$A,'[さっきmougのマクロでガッチャンコした.xlsx]AllData'!C:C,0)="","",XLOOKUP($A2,'[さっきmougのマクロでガッチャンコした.xlsx]AllData'!$A:$A,'[さっきmougのマクロでガッチャンコした.xlsx]AllData'!C:C,0))

を、
D2セルに入力したら、
縦にも右にも延ばせるし、
該当なしの箇所は0ではなく空欄で表示されます。
…のハズです



あ、ブログに投稿しよ、と思って書きだしてから気が付いたオチ。
なんだか読んでもらってスミマセン。