複数の基準でExcelのVLOOKUPを使用する方法はありますか?


1

私は、アイテムの多くの重複を含むリストを見て、重複が表示される合計数と、最新のもの(その日付)に関連付けられた一意の値をコンパイルするデータの集合を作成しようとしています

したがって、データは次のようになります。

したがって、データは次のようになります

次の列にある「Apple」という行項目を作成して、「Farm」ではAppleが2回表示されることを通知できるようにします。

そして、次の行で、「Apple」と「Farm」が2018年4月24日に最後に登場したことをお知らせします。

= COUNTIFS関数、列Bの「農場」基準、および2番目の基準列Aの「Apple」の場合、リスト全体を見て、リンゴのみと農場のみを同時に1つの日付のみにするにはどうすればよいですか?Vlookupを調べましたが、1つの基準のみに制限されています。

結果は、これを次のように表にまとめます。

結果は次のように表にまとめられます


ピボットテーブルを使用すると、必要なものを正確に取得できます(ただし、形式は多少異なります)。アイテムの数、集計日、およびすべてを表示できます。元のデータテーブルを選択して、そこからピボットテーブルを作成するだけです。その方法を示すチュートリアルがたくさんあります。
PeterT

ピボットテーブルがこれらの問題のいくつかを解決することは承知していますが、ピボットテーブルがFarm_lastフィールドに、対応するFRUITと相関する単一の日付に似たものをきれいに提供する方法を見つけられませんでした。日付を合計するか、果物のすべての日付のリストを表示するか、日付に他の算術を適用することができますが、「この基準を満たすもののみを表示し、残りは無視します。 」
ティムB

回答:


1

Farm_countこの式を試してください。=SUMPRODUCT(($A$2:$A$5=A10)*($B$2:$B$5=LEFT($B$9,LEN($B$9)-(LEN($B$9)-FIND("_",$B$9)+1))))

ここに画像の説明を入力してください

Farm_lastこの配列数式を使用してください:=MAX(IF(($A$2:$A$5=A10)*($B$2:$B$5=LEFT($B$9,LEN($B$9)-(LEN($B$9)-FIND("_",$B$9)+1))),$C$2:$C$5,""))

Ctrl + Shift + Enterを押して終了します

ここに画像の説明を入力してください


#Valueを取得しています!Farm_last式を使用したExcelのエラー。ここでのロジックを説明してもらえますか?私はLEN()とFIND()を見ていますが、なぜ文字列を数えているのか、他の文字列の位置を探しているのかという根本的なことを本当に理解していません。何らかの方法で繰り返し可能な構造にして、常にヘッダーを見て、探しているソースタイプを導出できるようにするのですか?それが理由である場合、私はまだそれがどのように達成されているかを本当に見ていません。
ティムB

ここでctrl-shift-enterの必要性を知りませんでした。私は通常、配列オブジェクトをExcelの関数として使用しないので、そこで謝罪します。このソリューションは実際に機能します。ただし、これを実際のデータセットに外挿するのは困難です。
ティムB

1
実際のデータセットに関するサンプルを提供できます。
リー

1

ここに画像の説明を入力してください

使い方:

  1. B8この式を書く&ダウン記入してください。

    =SUMPRODUCT(--($A$2:$A$5=A8),--($B$2:$B$5=$C$6))

  2. 「Apple」が「Farm」とともに最後に表示された時間を見つけるにはこの配列式をC8で記述し、Ctrl + Shift + Enterで終了します。

{=INDEX($C$2:$C$5,SMALL(IF($C$6=$B$2:$B$5,ROW($B$2:$B$5)-ROW($B$2)+1),2))}

  1. ファーム内のオレンジの外観の日付見つけるには、この配列式をC9 記述し、Ctrl + shift + Enterで終了します。

{=INDEX($C$2:$C$5,SMALL(IF($C$6=$B$2:$B$5,ROW($B$2:$B$5)-ROW($B$2)+1),1))}

注意、

  • セルC6にはファームがあります。
  • 必要に応じて数式のセル参照を調整します。

これは両方で機能しますが、ここでROW()関数の理由は何ですか?私はこれの方法や理由を本当に理解しておらず、それをデータセットに外挿することは私を混乱させています。そして、複数の関数でctrl-shift-enterするマクロ方法はありますか?実際に作業しているデータでは、このロジックを数千回適用する必要があり、F2をそれぞれに適用し、Ctrl-Shift-Enterを押して適用する必要があります。
ティムB

また、インデックス関数が正しい果物の種類をどのように決定しているかわからないことにも気付きました。私は1と2が異なっているのを見ます。それはあなたの小さな機能の中に含まれています。ここで何が起こっているのか、またはデータセットを拡張してより多くの果物タイプを含めると、これがどのように機能するのかを本当に理解していません。
ティムB

これらの3つの式はMACROよりも優れており、大きなデータ範囲でも動作します。重要な部分は、問題に対して機能しているかどうか、そうです、あなたが書いたように適切に機能しています
ラジェシュS

はい、これはMACROを使用しても実現できますが、処方が示されているように考えることは指定されていなかったためです。そのデータ範囲2〜5で機能しているため、ファーム内のAppleの最後の外観を判断し、配列関数が必要になります。=ROW($B$2:$B$5)-ROW($B$2)+1B2、データ範囲内の最初のレコード位置である1を返しB2:B5、この範囲が機能しSMALL+2最後にisの値Kは実際には2番目のオカレンスですApril/23
ラジェシュS

このソリューションは、よりVLOOKUP高速で高速です。
ラジェシュS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.