• ベストアンサー

excel2000の表でタイトル行を変化させたい

下記内容で、E6~K6セルにどういった関数を組めばいいかアドバイスお願いします。 (1)リストA(B8:B14セル)、リストB(C8:C14セル) でそれぞれ名前を定義しています。 (2)E4セルで入力規則-リストの設定をしており、 「リストA」「リストB」と変化させられるようにしています。 (3)(2)で変化があると、下記のようにE6:K6のセル(タイトル行)を変化させたいです。 (2)で「リストA」の場合リストAを表示、「リストB」の場合、リストBを表示。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

E6に =IF($E$4="","",INDEX(INDIRECT($E$4),COLUMN(A6))) と記入し,K6までコピー貼り付ける。

puyopa
質問者

お礼

迅速で正確な解答をありがとうございました。

その他の回答 (2)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.3

INDEXでの方法が出されていますのでOFFSETを使った 方法を紹介します。 E4がA7以外であればB列でよければ  E6に=OFFSET($A7,COLUMNS($E8:E8),($E4<>$A7)) B7以外であればA列ならば  $E4<>$A7を$E4=$B7に変更 E4がA7orB7と同じと限定するならば  E6に=OFFSET($A7,COLUMNS($E8:E8),($E4=$A7)+($E4=$B7)*2-1) 但しE4がA7又はB7と合わない場合は#REFになります。 どの方法でも右方向にオートフィル

puyopa
質問者

お礼

お礼が遅くなり、申し訳ございません。 参考になりました。ありがとうございました

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

お呼びじゃないだろうが, VBAでやると Sheet2などのシートモジュールに (セル範囲の名前挿入のデータが縦方向にある場合なので) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$E$4" Then Range(Range("E4")).Copy Range("E6").PasteSpecial Paste:=xlPasteAll, Transpose:=True End If End Sub セルE4の値が変わると見出しセル部分が変わる

puyopa
質問者

お礼

お礼が遅くなり、申し訳ございません。 参考になりました。ありがとうございました。

関連するQ&A