• ベストアンサー

EXCEL関数で教えてください。

B列に3行おきに名称があります。 C列にその名称ごと(3行ごと)のロット数 D列にその名称ごと(3行ごと)の値A E列にその名称ごと(3行ごと)の値B が入力されています。 そのデータを名称ごとに1行にまとめる場合の関数を教えてください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

> この場合は計算式変わってきますよね・・・ > どこをいじればいいでしょうか。 =OFFSET(INDEX($B$4:$E$12,MATCH($G4,$B$4:$B$12,0),2),COLUMN(A:A)-1,0) の $B$4:$E$12が全体の範囲で、$B$4:$B$12が名称の範囲ですので 両方を実際の範囲(計算式を編集状態で別シートの範囲を選択するなどして)指定してください。 必ず絶対参照(F4キーで$を付ける)にしてください。 検索値の$G4の$はGの方だけについています。 たとえば、Sheet2で全体の範囲が同じ範囲なら以下のようになります。 Sheet2!$B$4:$E$12 COLUMN(A:A)は変えないでください。

ma-ne-san-1119
質問者

お礼

ご丁寧な説明ありがとうございました! 教えていただいたとおりの入力で算出できました!! 仕事で使用するので本当に助かりました。 ありがとうございましたm(_ _)m

その他の回答 (2)

回答No.2

=INDIRECT(ADDRESS(MATCH($F1,$A:$A,0),2,4)) という具合で拾い出してみてはいかがでしょうか? 画像が参考になりますでしょうか

ma-ne-san-1119
質問者

お礼

ありがとうございました。 なんとかできました!

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

G列に名称を入力しているとして H4に =OFFSET(INDEX($B$4:$E$12,MATCH($G4,$B$4:$B$12,0),2),COLUMN(A:A)-1,0) として H4:J6の範囲にコピー L4に =OFFSET(INDEX($B$4:$E$12,MATCH($G4,$B$4:$B$12,0),3),COLUMN(A:A)-1,0) として L4:N6の範囲にコピー P4に =OFFSET(INDEX($B$4:$E$12,MATCH($G4,$B$4:$B$12,0),4),COLUMN(A:A)-1,0) として P4:R6の範囲にコピー で試してみてください。

ma-ne-san-1119
質問者

補足

ありがとうございます! 指示通りの入力できちんと算出されました!! サンプルはうまくいったのですが、本番環境だと元のデータが別のシートになっています。 この場合は計算式変わってきますよね・・・ どこをいじればいいでしょうか。

関連するQ&A

専門家に質問してみよう