Excel:ルックアップ値のセットの最小値または最大値を返すために使用する式は何ですか?[複製]


1

この質問にはすでに答えがあります:

下のスクリーングラブの列DとEに示されている値を計算する方法を探しています。列Dには、列Aの名前が一致する列Bからの最も早い日付が含まれています。同様に、列Eには、列Aの名前が一致する列Cからの最新の日付が含まれます。

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

たとえば、列Aの「ボブ」のすべてのインスタンスの場合:列Dには、列Bの最も早い「日付からの行」が含まれ、列A = "Bob"(この場合は2013年12月1日)です。

これはピボットテーブルを使用して簡単に実行できることを知っていますが、この場合は、式またはプログラムで行う必要があります。

データはVBAを使用して生成されているため、定式的な解決策がない場合は、プログラムの一部として必要な値の計算に戻ります(注意:これを行う方法は尋ねていません)。データセットは複雑であるため(上​​記の例は非常に単純化されています)、コードで実装するのに1日ほどかかりますので、可能であればそれを避けたいと思います。

私は行く方法が配列式かもしれないと推測していますが、私はそれらを使用する方法の最初の手がかりを持っていないことを認めることを恥じています。

ありとあらゆるヘルプ/ポインターが大歓迎です。


質問は何ですか?-上記の簡略化されたスクリーンショットに基づいて、どの値を返しますか?簡単な言葉のロジックは何ですか?質問のタイトルには、「テーブルのルックアップ値の最高/最低」と記載されています。すてきな話題の言葉。それらはデータサンプルとどのように関係していますか?
テイリン14

各行に必要な戻り値は、列D&Eに表示されます。各行について、すべての行を列Aの一致する値と比較し(たとえば、D5およびE5を計算する場合、行3、5、および6を調べます)、列Dについては一致する行から列Bの最小値を返します、列Eについては、一致する行から列Cの最大値を返します。
blackworx 14

たとえば、D3、D5、およびD6の値はすべて同じで、B3、B5、およびB6の最小値に等しくなります。同様に、この例のE3、E5、およびE6はすべて同じで、C3、C5、およびC6の最大値に等しくなります。
blackworx 14

いいよ これらの要件を反映するように質問を更新してください。コメントは、ユースケースを説明するために使用するものではありません。
テイリン14

それはあまり意味がありません。「前」と「後」のシナリオでサンプルファイルを準備します。お気に入りのファイル共有サイトに投稿して、ここでリンクを共有してください。ルールを形成するわかりやすい言葉で要件を説明します。これらの要件を反映するように質問を更新してください。つまり、自動化の結果として見たいものを手動でモックアップします。現在の状態から目的の状態に至るサンプルファイルとルールを提供します。
テイリン14

回答:


2

一般に:

{=MIN(IF(MatchRange=MatchVal,ValueRange))}

または

{=MAX(IF(MatchRange=MatchVal,ValueRange))}

だから、元の例の条件に翻訳...

セルD2には、次の配列数式が含まれます。

{=MIN(IF(A$2:A$7=A2),B$2:B$7)}

セルE2には以下が含まれます。

{=MAX(IF(A$2:A$7=A2),C$2:C$7)}

注意:上記の例では、中括弧/中括弧を入力しないでください。数式を入力せずに、Ctrl+ Shift+ Enterを押して配列数式を作成します。

D2:E2の式は、D2:E7に「自動入力可能」になります。

teylynに感謝します。その有益なコメントがなければ、私はここに座ってnoobのような答えを待っていたかもしれません。


1
配列式を入れるにはctrl + shift + enterを使用する必要があり、その中に中括弧を明示的に入れないでくださいという答えを述べている作業だと思います。
gtwebb 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.