アプリ版:「スタンプのみでお礼する」機能のリリースについて

この度はお世話になります。
エクセルの勉強不足につき、難儀しております。お知恵を拝借できれば幸いです。

1行(重複しない商品コード)に対して複数の納品先と納品数量が入力されている表(Sheet1)があります。その表(Sheet1)から別のシート(Sheet2)に納品先と納品数量毎の行を生成する方法(数式?)をご教示頂きたいです。Sheet2では商品コードが重複しても構いません。

詳細は添付画像をご確認頂ければと思います。宜しくお願い致します。
(個人でのトライ結果として、別シートに添付画像J列の生成までは出来ましたが、そこから先が全くわかりません。不必要な情報でしたら申し訳ありません。)

「数値の入っている列の項目名を別シートの行」の質問画像

A 回答 (2件)

No1です



>ご教示頂いた数式はシートをまたぐことも可能でしょうか?
普通の関数式なので、もちろん可能です。
手っ取り早くやるには、現在のJ4:L4セルをカットし、別シートへペースト(例えば、A1:C1セル等へ)すれば、エクセルが自動で式を修正してくれます。
(コピペではだめですのでご注意。また、個別にペーストするのではなく、セル範囲をまとめてカット&ペーストするのがポイントです)

そのままでも機能的に問題はありませんが、無駄な部分にもシート名がついてしまいます。
今回の式の場合は、ROW関数、COLUMN関数内のシート名は不要ですので、削除してしまった方が式が短くなるでしょう。
そのうえで、下方にフィルコピーすれば、別シートでも同様の結果が得られるはずです。
    • good
    • 0
この回答へのお礼

fujillinさま

お世話になっております。

実際のエクセルが添付画像よりも複雑だったので難儀してしまいましたが、アドバイス頂いた通り別シートで表示することもできました。本当にありがとうございます!

希望通りのエクセル表は完成したものの、関数の意味を理解出来ているわけではないので、これから少しづつ解読させて頂きます。

この度は本当にありがとうございました。

お礼日時:2021/04/07 09:04

こんにちは



C4:H6の範囲に対して、値の入力のあるセルを(行を優先して)ピックアップしてゆけば良いものと解釈しました。

ご提示のままのセル位置と仮定して、
J4セルに
=IFERROR(INDEX(B:B,INT(AGGREGATE(15,6,(ROW(C$4:H$6)*100+COLUMN(C$4:H$6))/(C$4:H$6<>""),ROW(A1))/100)),"")

K4セルに
=IFERROR(INDEX($3:$3,MOD(AGGREGATE(15,6,(ROW(C$4:H$6)*100+COLUMN(C$4:H$6))/(C$4:H$6<>""),ROW(A1)),100)),"")

を入力して、それぞれ下方にフィルコピーすれば、コードと都市(納品先)が表示されます。

あとは、このJ列とK列を利用して、元の表から値を参照すれば良いので、
L4セルに
=IFERROR(VLOOKUP(J4,B$4:H$6,MATCH(K4,C$3:H$3,0)+1,0),"")
として、下方にフィルコピーではいかがでしょうか?
    • good
    • 0
この回答へのお礼

初めまして

早速のご解答、誠にありがとうございます。

fujillinさんのアドバイス通りに入力したところ、私の希望した要件を完全に満たしており、驚愕しております。本当にありがとうございます!

これから、なぜこうなるのか・どういった関数なのか、を私なりに少しづつ紐解いていこうと思いますが、1点だけ質問させてください。

ご教示頂いた数式はシートをまたぐことも可能でしょうか?私の知る関数がほとんどなかった為、シートをまたげるか試行錯誤中でございました。

何度も申し訳ございません。

お礼日時:2021/04/06 16:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!