[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『行または列全体の参照について(関数のギモン)』(メガネザル)
いつも利用させていただいております。
検索しても探せなかったので質問させてください。
掲題の行または列全体の参照についてですが
MATCH(A1,'Sheet1'!B:B,0)などA列と指定すれば普通に参照できますが
たとえばMATCH(A1,'Sheet1'!COLUMN():COLUMN(),0)のように式を挿入すること
はできませんでした。これによって何をしたいか申しますとマッチ関数は行情報から列情報をとってきてくれます。なので行全体一つと列全体一つをそれぞれ参照することでクロスワードのように値が決まり、値を返すことができますが、私がしたいのはマッチ関数の繰り返しにより
例えば
A列から行情報を一つとってきた
→その行情報を全体として例えば14行目を参照する
→14行目の候補からD列という情報をとってきた
→...
→最終的に所望の情報を既知の情報から一本の式で導き出せる
といった内容です。
相応しい関数ございましたらぜひご教示ください。
よろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
おはよ〜ございます ^^ 関数は苦手なので、回答では有りませんで、済みません。m(_ _)m 今少しご希望の内容をエクセルの表形式で具体的にご説明賜れば 多数のアドバイス、回答等が有るのでは無いでしょうか。← 多分^^; =index(範囲,match(省略),match(省略))みたいなことなのでしょうか??? でわでわ (隠居じーさん) 2020/01/21(火) 09:44
I3に数式など ^^; 。。。m(__)m 見当違いでしたら無視して戴いて、他の回答者様の回答をお待ちくださいませ。m(_ _)m 。。。でわでわ
|[A]|[B] |[C] |[D] |[E]|[F]|[G]|[H]|[I] [1]| | 1| 2| 3| | | | | [2]|A |うどん |カレー |そば | | | | | [3]|B |ラーメン|牛丼 |天丼 | | | |B2 |=INDEX($A$1:$D$4,MATCH(LEFT(H3,1),$A$1:$A$4,0),MATCH(VALUE(RIGHT(TEXT(H3,"@"),1)),A1:D1,0)) [4]|C |味噌汁 |ビフカツ|唐揚げ| | | | | [5]| | | | | | | | | (隠居じーさん) 2020/01/21(火) 10:11
↓こちらと似たような内容かと思ったのですが違いますでしょうか? [[20031203135055]] 『シフトデータから勤務番号順に並び替える』(ロボタン) (Yosh!) 2020/01/21(火) 11:24
僕が申しました内容というのは
できると仮定していた式で表すと
シート1に所望の情報があるとして
参照するのはA列のみといった内容です。
INDEX(参照範囲,行番号,列番号)なので
INDEX(1:10484,MATCH('Sheet2'!A1,'Sheet1'!A:A,0)(ここで返し値が行番号となる),MATCH(MATCH('Sheet2'!A1,'Sheet1'!MATCH(手前の行番号で示した列番号):MATCH(手前の行番号で示した列番号),0))・・・?@(INDEXから終わりまでの式を?@とする)
→INDEX(1:10484,MATCH(?@),MATCH('Sheet2'A1,'Sheet1'!MATCH(?@):MATCH(?@),0)・・・?A
→…?B,?C,...としていきクロス抽出をMATCH関数が行または列全体参照に利用することが可能であったと仮定してクロス抽出の繰り返しで既知の'Sheet1'!A1と'Sheet2'!A:Aという情報のみから所望の情報までを導き出せる方法はあるか知りたかったのです。
(メガネザル) 2020/01/22(水) 00:37
簡単なサンプル表を作って Sheet2のA1セルに何を入力したら どうなればいいのか(何が返ればいいのか)を説明してください。
ところで、その数式を入力するのはどのシートなんですか?
>INDEX(1:10484 ・・・
1行目から10484行目までの全セルが範囲になりますけど 本当にそんな大きな表なんですか?
とりあえず以上です (笑) 2020/01/22(水) 16:53
=MATCH(A1,OFFSET(A1:A10,,4,,),0) ??? (BJ) 2020/01/23(木) 03:07
3 C 5 E 7 G 9 I 11 K 2 B 4 D 6 F 8 H 10 J 12 L シート名(式) 1 A =INDEX(元情報!$1:$1048576,MATCH("*既知*",元情報!$A:$A,0)+A1-1,MATCH("条件",元情報!$M:$M,0)) 2 C =INDEX(元情報!$1:$1048576,MATCH("*既知*",元情報!$A:$A,0)+A1-1,MATCH("条件",元情報!$M:$M,0)) 3 E 4 G 5 I 6 K 7 B 8 D 9 F 10 H 11 J 12 L
シート名(説明)
INDEX(元情報!$1:$1048576,MATCH("*既知*",元情報!$A:$A,0)+A1-1,MATCH("条件",元情報!$M:$M,0))
「MATCH("*既知*",元情報!$A:$A,0)+A1-1」の$A:$Aの部分を固定したまま1ならA、2ならBと返したいが補正がいつも同じようにしてくれるとは限らない
実際番号の横に対応する条件は常にどの依頼シートにもあるが、横にあってもVLOOKUPで返せるようにフォーマットが定まっていないので列数も固定できない
そこでMATCH("*xx*",元情報!$A:$A,0)が行の数字を表してくれるのでこのMATCH関数を書式さえ合わせられれば「元情報!『$A:$A』」の『』の部分に適用できれば補正が効くのではないと考えた
ファイルを添付する方法があるかわからなかったので貼り付けました。
疑問は上記の説明の部分です。OFFSETまたはほかの関数で行または列の全体を直接Aとか11とか指定せずに式で返した値をあてがうことってできないのですかね
(メガネザル) 2020/01/23(木) 11:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.