やりたいことはどれも単純な「VLOOKUP」から始まりますが、ひねりを加えたものもあります。簡単にするために、範囲に「A」と「B」という名前を付ける必要があります。これを行うには、「A」に属するすべてのセルを選択し、アドレス ボックス (画面の左上) に名前を入力します。「RangeA」としましょう。同様に、領域 B に属するすべてのセル (1 列目から 8 列目まで。ヘッダーを含めないように注意してください) を選択し、RangeB と呼びます。これで開始できます。
「A の各値について、B の対応する値を見つけ、その値を右に 2 つ返す」:
これは単純な VLOOKUP です。A の右側のセル (おそらく B1) に次の数式を入力します。
=VLOOKUP(A1, RangeB, 3, FALSE)
説明: RangeB という範囲のセル A1 の値を調べます。完全一致を見つけます (それは「FALSE」です)。列 3 (右から 2 つ) の対応する値を返します。数式を下までドラッグします (ショートカット: セルが選択されているときに、セルの右下隅にある小さな四角形をダブルクリックします)。
ドキュメント B で見つかった一致する各値の右側にある値 3 を見て、その値が「時間」の場合は、ドキュメント A の列 A の値の右側に文字「T」を 2 つ入れます。
これは、VLOOKUP の後に IF が続きます。次の数式を A の右側の 2 つのセル (おそらく C1) に配置し、前と同じように下にドラッグします。
=IF(VLOOKUP(A1, RangeB, 4, FALSE) = "time", "T", "")
説明: 前と同じように検索します (ただし、列 4、つまり「右に 3 つ」)。見つかった値をテストします。「時間」の場合は、このセルに「T」と入力します。それ以外の場合は、"" (つまり、何も入力しない) を入力します。
ドキュメント B で見つかった各一致値の右にある 4 つのセルの値が > 5 の場合、ドキュメント A の列 A の値の右にある 3 つのセルに数式 = (列 G の値) を入力する必要があります。 / 列 H) をドキュメント B で同じ行に配置します。
一致を見つけて、比率を取ります。MATCH 関数 (シートの非表示の列) を使用してルックアップを 1 回だけ実行する方が高速なので、行番号への参照 (3 回必要) がありますが、必須ではありません。シートに何千行もある場合を除き、パフォーマンスの違いに気付くことはありません。このスレッドによると、数式内でこれを達成する「簡単な方法」はありません。
=if(VLOOKUP(A1, RangeB, 5, FALSE) > 5, VLOOKUP(A1, RangeB, 7, FALSE)/VLOOKUP(A1, RangeB, 8, FALSE), "")
そして、あなたはそれを持っています。INDEX(MATCH...
(@ user2140261 の推奨される方法) は と同じことを達成できますVLOOKUP
が、2 つの機能が必要であることに注意してください。MATCH
ただし、関数を含む非表示の列を作成することにした場合は、INDEX
関数を使用して他のすべてのことを達成できます。また、MATCH を 1 つしか使用しないため (1 回以上再計算するのではなく)、最も効率的です。各列)。
ここから分かると思います。