[[20210908070341]] 『COLUMN関数について』(あゆ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『COLUMN関数について』(あゆ)

=INDEX(シート1!$P$2:$P$100,COLUMN(B2)-COLUMN($B$2)+1,ROW(B2)-ROW($B$2)+1)

教えて頂けたら幸いです。

上記の式以前の事務方が作成してくれた式なのですが、

こちらの式を使わせて頂いていたのですが、関数が私には難しくてよく分からなく・・・

もし説明していただければ幸いと思い投稿させて頂きました。ネットも確認したのですがCOLUMN ROWがよく理解できず

よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 ROW関数・COLUMN関数は引数に指定したセルの行番号、列番号を返す関数。
 COLUMN(B2)はB2セルの列番号2を返し、ROW(B2)ではB2セルの行番号2を返す。

(ねむねむ) 2021/09/08(水) 09:58


 なので式を入力したセルでは
 =INDEX(シート1!$P$2:$P$100,COLUMN(B2)-COLUMN($B$2)+1,ROW(B2)-ROW($B$2)+1)
 は
 =INDEX(シート1!$P$2:$P$100,2-2+1,2-2+1)
 つまり
 =INDEX(シート1!$P$2:$P$100,1,1)
 と同じことになる。
(ねむねむ) 2021/09/08(水) 09:58

 で一つ下のセルでは
 =INDEX(シート1!$P$2:$P$100,1,2)
 一つ右のセルでは
 =INDEX(シート1!$P$2:$P$100,2,1)
 右斜め下のセルでは
 =INDEX(シート1!$P$2:$P$100,2,2)
 となる。
(ねむねむ) 2021/09/08(水) 10:01

 つまり
 COLUMN(B2)-COLUMN($B$2)+1
 ROW(B2)-ROW($B$2)+1
 は式を入力したセルでは1を、列方向、行方向へコピーしていくごとに2、3、4…
 と増えていく数値を求めていることになる。
(ねむねむ) 2021/09/08(水) 10:05

 なお、1からの昇順の数値であるので
 =INDEX(シート1!$P$2:$P$100,COLUMN(A1),ROW(A1)) 
 でも同じことになる。
(ねむねむ) 2021/09/08(水) 10:07

 ちょっと確認
 数式の意味がわからなくても、その式で何をしているのかぐらいはわかりますよね?
 タテに並んでいるP2:P100の値を横に並べ替えてるだけでしょ?
 本当に範囲がP2:P100の1列だけなら、ですけど。

 =INDEX(Sheet1!$P$2:$P$100,COLUMN(A1))
 右コピー

 これでも同じ結果になりませんか? ※シート名は実際のものにしてください

 以上
(笑) 2021/09/08(水) 10:13

ねむねむさん

ありがとうございました。

とても分かりやすいです。

行と列が1つずつ増えるといることですね。

なるほどINDEX(シート1!$P$2:$P$100,COLUMN(C2)-COLUMN($C$2)+1,ROW(C2)-ROW($C$2)+1)

=INDEX(シート1!$P$2:$P$100,3-3+1,3-3+1)

=INDEX(シート1!$P$2:$P$100,1,1)

になるという事

あっているでしょうか?
(あゆ) 2021/09/08(水) 10:19


 セル参照が違っているので単なる記入間違いかどうかわからないが。
 =INDEX(シート1!$P$2:$P$100,COLUMN(B2)-COLUMN($B$2)+1,ROW(B2)-ROW($B$2)+1)
 は
 =INDEX(シート1!$P$2:$P$100,2-2+1,2-2+1)
 で、
 =INDEX(シート1!$P$2:$P$100,1,1)
(ねむねむ) 2021/09/08(水) 10:29

笑さん

ありがとうございます。

式でなをしているかがよく分からなくてCOLUMN ROW の意味調べたのですが
よく意味が分からなくて

詳しく説明して頂けたのでよく分かりました。

ご教示して頂きありがとうございました。
=INDEX(Sheet1!$P$2:$P$100,COLUMN(A1))

の式もよく理解できたのでこれから使わせて頂こうと思います。

ありがとうございます。
(あゆ) 2021/09/08(水) 10:30


 とりあえず前発言の続き。
 それを右へコピーしたセルでは
 =INDEX(シート1!$P$2:$P$100,COLUMN(C2)-COLUMN($B$2)+1,ROW(C2)-ROW($B$2)+1)
 となり
 =INDEX(シート1!$P$2:$P$100,3-2+1,2-2+1)
 で
 =INDEX(シート1!$P$2:$P$100,2,1)
 となる。
 あと笑さんの指摘はROW、COLUMN関数部分に注意を向けていたため気づけなかった。
(ねむねむ) 2021/09/08(水) 10:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.