2016-11-21 15 views
0

したがって、2枚のExcelファイルがあります。最初のシートには7つの異なる値の列が含まれています。 2番目のシートには、特別な顧客価格のリストが含まれています。Excelの検索と返信

私がやりたいことは、基本的に例えば次のような値を検索することです。 Sheet2のセルA2!A:A。この値(テキスト値)を見つけるには、検索された値を含むその特定の行にある値を返します。右側の列は3列だけです。

私は多くの実験を行っていますが、実際にINDEXとMATCHが正常に動作することはありません。何か提案?

私は理解するchallangeことができる知っているように、より多くの情報を求めること自由に感じ..

敬具

+0

は、あなたがしようとしているものを示しており、どのような方法(複数可)には及びませんでした。 –

+0

まず最初に、私は新人ですが、私は試したことです: = IF(Priser!A11 = MATCH(Priser!A11; Spesialpriser!A:A; 0); INDEX(Priser !A11; Spesialpriser!A:A; 0);; 3)) –

答えて

0

は(オフセットしてみてください)、マッチ()、(参照、行、colsのオフセット)。一致を使用して、参照ポイントから移動する行数または列数を見つけます。

+0

だから、私はオフセットとマッチで作業を試みた。 = IF(MATCH(A11; Spesialpriser!A:A; 0); OFFSET(MATCH(A11; Spesialpriser!A:a; 0); 0; 2);(D11 - (D11 * E11))) 問題は、値を返さないということです。エラーがポップアップし、私は理由を理解できないようです! –

+0

オフセット機能のリファレンスとは何ですか?探しているターゲットが列Aにあり、データがA1で始まる場合はA1:OFFSET(A1; MATCH(A11など)、IF()関数なしで試してください最初に –

+0

= IF(MATCH(A11; Spesialpriser!A:A; 0); OFFSET(Spesialpriser!A6; 0)を編集しました。 ; 2)) すべてが正常に動作しますが、例外は1つあります。 A:Aの値が見つかった場合でも、セル "Spesialpriser!A6"からオフセット値を返します。質問は、一致した値から2列分の値を返すにはどうしたらいいですか?値を見つけたら、隣に2列の値を返しますか? 私は何を意味するのか理解していますか? –

0

OFFSETを使用することは、ほぼすべてのベストプラクティスガイドに違反しています。これは揮発性の機能です。つまり、すべてのコストをかけて回避する必要があります。代わりにINDEX + MATCHを使用してください。同じことをすることはできますが、パフォーマンスははるかに優れています。

=INDEX(column holding the value you want to return, match to find row #, 1) 
=MATCH(value you are looking for, column you are searching in, 0 means exact match) 

結果:

=INDEX(Sheet2!$D$2:$D$10,MATCH(A2,Sheet2!$A$2:$A$10,0),1) 
+0

アドバイスをいただきありがとうございます - 私はインデックスと一致をテストします。 –

+0

ありがとう、私はdefenitlyこの1つを与える! –

+1

私はあなたが意味することを得るが、それは私が想像したものではありません。これは検索された値を返します。ちょうどVLOOKUPのようなものでしょうか? = IF(MATCH(A11; Sheet2!A; 0;); INDEX(MATCH(A11; Sheet2!A; A; 0); 2); 2) これで、 sheet2のA:Aの範囲で、sheet1のA11の値を検索したいと思います。一致が見つかった場合は、この一致が見つかった場所の右側に2列の値を戻したいと考えています。そうでない場合は、値2を返します。 –

0

私はあなたが探している機能は、VLOOKUPであると信じています。これを試してみてください:

= VLOOKUP(A2、Sheet2のA:!のD、4、0)

よろしく、 Windyvation

+0

私はVLOOKUPを実装しました。少なくとも、私の論理テストはやりました。さて、私は数式のオフセット部分にいくつか問題があります。 = IF(VLOOKUP(A6; Sheet2!A1:A100; 1)= A6; OFFSET(Sheet2!A1; MATCH(Sheet1!A6; Sheet2!A1:A100; 0) ; 2);(D6-(D6 * E6))) 一見したところでは完全に外に出ていますが、よく見ると、セルの値が正しく返されます。どんな考え? –

+0

これは私が使用していないオフセット機能に関連していると信じています。トラブルシューティングは私のものと同じくらい良いでしょう:https://support.office.com/en-us/article/OFFSET-function-c8de19ae -dd79-4b9b-a14e-b4d906d11b66?ui = en-US&rs = en-US&ad = US – windyvation