は、ここでは、Excel 2007の
はC1
に
=IFERROR(INDEX(A1:A5,MATCH("Y",B1:B5,0)),"")
をこの式を入れていると仮定すると1つのオプションその後、C2でこの1つは
=IFERROR(INDEX(A$1:A$5,MATCH(1,INDEX((B$1:B$5="y")*(COUNTIF(C$1:C1,A$1:A$5)=0),0),0)),"")
を下にコピーされていますあなたはそれを行うことができます以前のバージョンでは一度だけエラー値を取得しないように、より長い式が必要ですIDの一致が
説明排出される:
式1 A1:A5
から関連する値を返しINDEX
次いで、B1:B5
に最初の「Y」の位置を見つけるために、MATCH
を使用します。あなたのカラムが逆の場合、VLOOKUP
を使うことができます。INDEX/MATCH
は、 "左参照"を行う標準的な方法です。
式2は、2つの条件が満たされている最初の行の位置を見つけるために、MATCH
を使用して、B1:B5
=「Y」とA1:A5
<>値が既に発見しました。すでに見つかった値は上記のC列にありますので、COUNTIF
関数は上記のセルを調べ、上記の範囲内の列Aの各値を数えます(数式を下にドラッグすると展開されます)。ゼロの数は、値はまだ選択されていません。一度MATCH
行番号を確認するINDEX
は、列Aのその行から値を取得します。
VBAを使用したくないですか? – assylias
いいえ、単純な式で行うことができる場合はVBAを避けるでしょう – PlanetUnknown
VBAが必要ない場合は、Excelの数式質問にスーパーユーザーが適しています。 – brettdj