基本的に私の問題は、Excelの1つのセルに文字列があるので、その文字列が別の行(1つのセルではなく行全体)に存在するかどうかを確認し、そうであれば同じ行の別のセルの内容を印刷することですしかし、別の列に。
基本的な例を挙げます。
_Title Answer
Police 15
Ambulance 20
Fire 89
_
次に、「Police」などのタイトル列をスキャンして、Answer(この場合は15)の下の値をセルに入力する必要があります。
タイトル列全体をスキャンする必要があるので、単に_IF(A2="Police";B2;""
_と言うことはできません。
私はIF(COUNTIF(A$2:A$100;"Police");
を使用してA2からA100の文字列Policeの内容をスキャンし、定数を印刷する方法を知っています(;の後に何かを置くだけですが)定数」は、見つかった行に応じて変化する変数です。 COUNTIF
がセル_A44
_でポリスを見つけた場合、式に対する答えは_B44
_になり、_A62
_でポリスを見つけた場合と同じになり、式が表示されるはずです_B62
_
これが理にかなっていて、誰かが私を助けることができることを願っています:)
このドキュメントではスクリプトを使用できないため、Excel 2010を使用しており、通常の数式が必要であることに注意してください。
編集:
ここに私がこれまでに持っているものがあります、私が使用しているスプレッドシートは、私が質問で持っている「単純な」例よりはるかに複雑であることに注意してください...
_=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"")
_
これは、_"RuhrP"
_が_"RuhrP"
_にあるすべての回答で_F9
_を示しており、セルインデックスが同じである_RuhrPumpen!I$5:I$100
_にあるはずの答えではありません_A9
_が見つかったA
coloumのそれ。繰り返しになりますが、複雑さを申し訳なく思いますが、Wordの改善方法は考えられません。
この式を提案したことに注意してください
=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"")
.....しかし、ここでLOOKUP
は適切ではありません(完全に一致することを前提としているため(LOOKUPはルックアップ範囲のデータもソートする必要はありません)、したがってVLOOKUP
または_INDEX/MATCH
_の方が良いでしょう.... IFERRORを使用してIF関数を回避することもできます。
=IFERROR(VLOOKUP(A9;Ruhrpumpen!A$5:Z$100;9;0);"")
注:VLOOKUPは常に「テーブル配列」の最初の列でルックアップ値(A9)を検索し、「テーブル配列」のn番目の列から値を返します。nはcol_index_numで定義されます。この場合は9
INDEX/MATCHは、ルックアップ列と戻り列を明示的に定義できるため(VLOOKUPの場合はありえないルックアップ列の左側に戻り列を定義できるため)、より柔軟性が高い場合があります。
=IFERROR(INDEX(Ruhrpumpen!I$5:I$100;MATCH(A9;Ruhrpumpen!A$5:A$100;0));"")
INDEX/MATCHを使用すると、異なる列から複数の値をより簡単に返すこともできます。 A9の前に$記号を使用し、検索範囲Ruhrpumpen!A $ 5:A $ 100、つまり.
=IFERROR(INDEX(Ruhrpumpen!I$5:I$100;MATCH($A9;Ruhrpumpen!$A$5:$A$100;0));"")
このバージョンをドラッグして、列I、列J、列Kなどから連続した値を取得できます。
私はそのようなデータ設計を考え出しました:
メインシート:列A:ポンプコード(番号)
列B:シート「Ruhrpumpen」の対応する行を示す数式
=ROW(Pump_codes)+MATCH(A2;Ruhrpumpen!$I$5:$I$100;0)
数式には「;」があります「、」の代わりに、ドイツ語表記も使用する必要があります。そうでない場合は、交換してください。
列C:列Bの式によって検出された行の「ルールポンプン」列Aのデータを示す式
=INDIRECT("Ruhrpumpen!A"&$B2)
列D:列Bの式によって検出された行からの「Ruhrpumpen」列Bのデータを示す式:
=INDIRECT("Ruhrpumpen!B"&$B2)
シート 'Ruhrpumpen':
列A:特定のポンプに関するデータ
列B:その他のデータ
列I:ポンプコード。リストの先頭には、メインシートの列Bの数式で使用される定義名「Pump_codes」が含まれています。
スプレッドシートの例: http://www.bumpclub.ee/~jyri_r/Excel/Data_from_other_sheet_by_code_row.xls
想定
ソースデータの範囲はA1:B100です。
クエリセルはD1です(ここではPoliceまたはFireを入力します)。
結果セルはE1です
E1の式= VLOOKUP(D1, A1:B100, 2, FALSE)
Guys MatchまたはHlookupでVlookup/Indexを使用しているときに、ルックアップ値のレプリケーションの問題に直面していることを知っていることは非常に興味深いことです。..最初の項目はloopkup配列で一致します。
例えば.
列Aには、company ....というフィールドがあります。
_Column A Column B Column C
Company_Name Value
Monster 25000
Naukri 30000
WNS 80000
American Express 40000
Bank of America 50000
Alcatel Lucent 35000
Google 75000
Microsoft 60000
Monster 35000
Bank of America 15000
_
上記のデータセットをルックアップすると、重複が行番号10および11の会社名に表示されます。したがって、vlookupを配置すると、データが最初に取得されます。しかし、以下の式を使用する場合、ルックアップ値を一意にすることができ、紛争や問題に直面することなく簡単にデータを選択できます
C2に式を入力してください.........A2&"_"&COUNTIF(A2:$A$2,A2)
..........最初の行項目と行番号10および11の結果は_Monster_1
_になります....._Monster_2, Bank of America_2
_それぞれ....ここでは、一意の値が設定されているため、任意のデータを簡単に選択できます。
乾杯!!!アニル・ダワン