プロが教える店舗&オフィスのセキュリティ対策術

エクセル初心者です。
A2に高橋と入れると、B1に高橋が反映されるようにしたいです。
A3に伊藤と入れると、C1に伊藤。
A4に佐藤で、D1に佐藤。
A5に佐々木で、E1に佐々木。

A3に行を追加して鈴木と入れると、Cに列が増えて鈴木が自動で入力できますでしょうか?

質問者からの補足コメント

  • yuji3690様

    早速のご回答ありがとうございます。A列を参照して作成できました。ですが、変更がありまして、D2に高橋でE1に高橋が反映するようにしたいです。
    教えていただいた関数だと、D列を参照に変更したらできなくなりました。
    よろしくお願いします

      補足日時:2017/04/23 10:38
  • yuji3690様
    もう少しでわかりそうなのですが、もう一度質問です。

    「今回、E1→D2なので、列番号=5,行番号1→行番号2,列番号4と変換させる必要があるので、
    指定行番号(2)=セル列番号(5)-3
    指定列番号(4)=セル行番号(1)+3
    というわけです。」

    これは、E1の参照したい部分がD2とすると、「列番号5、行番号1」というのはE1を指しているということでしょうか?

    もう一つ同じような表を作成したいのですが、今度はD5に高橋といれると、E4に高橋、D6に伊藤でE5に伊藤、が自動で反映させるものを作成したいと考えています。そうすると、列番号は5、行番号は4となりますか?

    すみません。書いているうちにやはりわからなくなりました。どうかよろしくお願いいたします。

      補足日時:2017/04/23 12:21

A 回答 (5件)

A2に高橋と入れると、B1に高橋が反映されるようにしたいです。


→ B1に=A2

A3に伊藤と入れると、C1に伊藤。
→ C1に=A3

A4に佐藤で、D1に佐藤。
→ D1に=A4

A5に佐々木で、E1に佐々木。
→ E1に=A5


A3に行を追加して鈴木と入れると、Cに列が増えて鈴木が自動で入力
→ 出来ない
    • good
    • 0

こんばんは!



B1セルに
=INDIRECT("A"&COLUMN())&""
という数式を入れフィルハンドルで右へずぃ~~~っとコピー!

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0

B1: =OFFSET($A1,COLUMN(A1),)&""

    • good
    • 0

B1に


=IF(INDIRECT(ADDRESS(COLUMN(),ROW()))="","",INDIRECT(ADDRESS(COLUMN(),ROW())))
と入力して、データが入ると思われる数以上に右へコピーしておきましょう。
コピーした数を超えなければ、列を追加しようが削除しようが、行と列を逆にした位置のセルに入っているデータと同じものを取得し、表示します。
IFで空白の時空白としているのは、空白の時は0扱いされるので、0が表示されてしまうのを防ぐ為に書いています。

ROW()およびCOLUMN()をROW()-1やCOLUMN()-2等とすることで、基準となるセル(A列と1行目に名前を表示する場合はA1のこと)の位置が変わった場合にも応用できます。
    • good
    • 0

正に前回最後に書いた部分の応用ですね。



ADDRESS(COLUMN(),ROW())についてもう少し詳しく説明します。
ADDRESS(行番号,列番号)とする事で、該当するセルのセル番地を表示させる関数です。
ADDRESS(2,3)であれば、C2の事です。
(実際は指定を省略しているので絶対参照の"$C$2"となりますが、今回このことは重要ではありません)
COLUMN()で式を入れたセルの列番号、ROW()で式を入れたセルの行番号をそれぞれ取得しています。
それをADDRESSに行列入れ替えた状態でセットすることによって、B1ならA2、といったデータに変換してたわけです。

今回、E1→D2なので、列番号=5,行番号1→行番号2,列番号4と変換させる必要があるので、
指定行番号(2)=セル列番号(5)-3
指定列番号(4)=セル行番号(1)+3
というわけです。

=IF(INDIRECT(ADDRESS(COLUMN()-3,ROW()+3))="","",INDIRECT(ADDRESS(COLUMN()-3,ROW()+3)))
とすれば、お望みの結果が得られるかと。
    • good
    • 0

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