• ベストアンサー

エクセルにてシートBの記入情報をシートの名前を入れるだけで、シートAに

エクセルにてシートBの記入情報をシートの名前を入れるだけで、シートAに表示するようにしたいです。 シートB~AZまでに顧客の住所や電話番号などの情報が1社ごとに1シートに記載されています。シートAにはシートB~AZまでの顧客情報が一覧表示できるようにするため、シートの番号を入れるだけで、反映するような計算式を教えていただければと存じます。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

回答No2,3,4です。 シートAのB2セルには次の式を入力してP2セルまで横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR($A2="",COLUMN(A1)>15),"",INDEX(INDIRECT($A$2&"!A:H"),IF(AND(COLUMN(A1)>=1,COLUMN(A1)<=5),COLUMN(A1)+2,COLUMN(A1)/2),IF(AND(COLUMN(A1)>=1,COLUMN(A1)<=5),2,IF(MOD(COLUMN(A1),2)=0,5,8)))) これでA列にシート名を入力すればその内容が1行で右横方向に表示されます。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.6

よくわからない質問です 補足が無ければ理解不能でした シートAのA2はシート名入力 >シートBのB3に「発注者」の情報 シートAのB2は=INDIRECT($A2&"!B3") >シートBのB4に「発注番号」の情報 シートAのC2は=INDIRECT($A2&"!B4") >シートBのB5に「入庫日」の情報 シートAのD2は=INDIRECT($A2&"!B5") >シートBのB6に「保管場所」の情報 シートAのE2は=INDIRECT($A2&"!B6") >シートBのB7に「運送業者」の情報 シートAのF2は=INDIRECT($A2&"!B7") >シートBのE3に「商品名A」の情報 シートAのG2は=INDIRECT($A2&"!E3") >シートBのE4に「商品名B」の情報 シートAのH2は=INDIRECT($A2&"!E4") >シートBのE5に「商品名C」の情報 シートAのI2は=INDIRECT($A2&"!E5") >シートBのE6に「商品名D」の情報 シートAのJ2は=INDIRECT($A2&"!E6") >シートBのE7に「商品名E」の情報 シートAのK2は=INDIRECT($A2&"!E7") >シートBのH3に「対応A」の情報 シートAのL2は=INDIRECT($A2&"!H3") >シートBのH4に「対応B」の情報 シートAのM2は=INDIRECT($A2&"!H4") >シートBのH5に「対応C」の情報 シートAのN2は=INDIRECT($A2&"!H5") >シートBのH6に「対応D」の情報 シートAのO2は=INDIRECT($A2&"!H6") >シートBのH7に「対応E」の情報 シートAのP2は=INDIRECT($A2&"!H7") この様になります 参考までに

lego2009
質問者

お礼

ご回答ありがとうございます。 ご指示のとおり入力することにより反映ができました。 ありがとうございました!

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

回答No2です。 意味がよく理解できません。 A1セルからA50セルの間でシート名を入力すればそれぞれのシートのどの部分を右側の列に1行で並べたいのですか?具体的にセルの範囲を示してください。

lego2009
質問者

補足

説明不足で申し訳ありません。具体的に説明致しますと・・・。 シートBのB3に「発注者」の情報 シートBのB4に「発注番号」の情報 シートBのB5に「入庫日」の情報 シートBのB6に「保管場所」の情報 シートBのB7に「運送業者」の情報 シートBのE3に「商品名A」の情報 シートBのE4に「商品名B」の情報 シートBのE5に「商品名C」の情報 シートBのE6に「商品名D」の情報 シートBのE7に「商品名E」の情報 シートBのH3に「対応A」の情報 シートBのH4に「対応B」の情報 シートBのH5に「対応C」の情報 シートBのH6に「対応D」の情報 シートBのH7に「対応E」の情報 と上記のセル内に情報があります。 シートCも上記のセル位置に情報があります。 これらをシートAのA2にシート名である「シートB」と入力すると、シートBのB3~H7までの情報が、 シートAのB2から右側にかけてP2までの一列に表示するようにしたいと思っています。(A1~P1までは題名が記載されています。) 大変お手間をおかけして申し訳ございませんが、ご教授頂ければと存じます。

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 示した式はK列までの表範囲になっています。お望みの範囲に適宜変更してください。

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シートAのA1セルにシート名を入力したら2行目から下の行や列にそのシート名の表が表示されるようにするためには次のようにします。 シートAのA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。シートBやシートCなどの表の範囲をカバーできる範囲内をドラッグすることになります。 =IF($A$1="","",IF(ISBLANK(INDEX(INDIRECT($A$1&"!A:K"),ROW(A1),COLUMN(A1))),"",INDEX(INDIRECT($A$1&"!A:K"),ROW(A1),COLUMN(A1)))) これでA1セルにシートBと入力すればシートBの表が表示されます。

lego2009
質問者

お礼

ご回答ありがとうございます。 私の説明不足で申し訳ありません。 丸々シートAにシートBの内容をレイアウトそのままに反映させるわけではなく、 シートAのA1にシート名を入れれば、B1~右側の行に一列で表示をさせたいと思っています。 シートB以降のシートには一枚に一社の情報がまとめられており、そのシート名をシートAのA1~A50くらいまでのセルにシート名をそれぞれ入れれば、右側に横一列で一社分の情報を並べたいと思っています。 また方法を教えて頂ければ幸いです。

すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

INDIRECT関数  =INDIRECT("シート名"&"!A1") で、指定したシート名のA1セルを参照できます シート名の指定は "Sheet1!" のように指定しますので、シート名だけを記述するなら "!" を別に付加する必要があります (ですから A1の前に "!" が付いています)

lego2009
質問者

お礼

ご回答ありがとうございます。 早速教えて頂きました式をB1に入れて、「シート名」にシート名を入れれば反映致しました。 しかし、実際にはA1にシート名を入れれば、一度にB2から右側の行に対して反映をさせたいと思っています。 教えて頂いた式ですと、B2から右側の行の中にそれぞれシート名をあらかじめ入れておかなければならないようです。また方法を教えて頂けましたら幸いです。

すると、全ての回答が全文表示されます。

関連するQ&A