だから私は何かにこだわっています。 2つのスプレッドシートがあり、それぞれの列Aは類似していますが同一ではありません。一部の値は一方のスプレッドシートにあり、他方にはありません。
列Aに一致する値があるかどうかに基づいて、スプレッドシート2からデータを取得することは可能ですか?
したがって、スプレッドシート2には次のようなものがあります。
A B
item1 100
item2 200
item3 300
スプレッドシート1には次のようなものがあります。
A B
item1 NULL
item2 NULL
item4 NULL
スプレッドシート2にあるかどうかに基づいて、スプレッドシート1のB列に入力します(この例では、アイテム1と2に入力します)
VLOOKUP
およびIfステートメントを試しましたが、どこにも到達していないようです。
オプションのis_sorted
パラメータをVLOOKUP
に設定すると、FALSE
関数がこれを実行し、最も近い一致が返されないようにします。
以下に例を示します。まず、ソースシートSheet1。
Sheet2では、VLOOKUP
を使用して、次の式(この場合はB1から)を使用して、Sheet1から情報を取得します。
=vlookup(A1,Sheet1!$A$1:$B,2,false)
^ -------------- ^ ^
| | | +-- is_sorted
| | +------- return value from col 2
| +------------------- Range for search
+------------------------- search_key
わかりましたが、item4の#N/A
はきれいではありません。 VLOOKUP
をIFERROR
でラップすることにより、これを抑制することができます。 IFERROR
のオプションの2番目の引数を省略すると、最初の引数がエラーと評価された場合、空白のセルを返します。
=IFERROR(vlookup(A1,Sheet1!$A$1:$B,2,false))
この例では、データは現在のスプレッドシート内の別のシートだけでなく、別のスプレッドシートからのものです。問題ありません-VLOOKUP
は、データソースとしてIMPORTRANGE
と組み合わせることができます。
=IFERROR(vlookup(A1,IMPORTRANGE("<sheet-id>","Sheet1!A1:B"),2,false))
Googleスプレッドシートの最近の変更により、AdamLとMogsdadの式は、2つのシートを接続した場合にのみ機能するようです。
インポート範囲に属さない部品を数式から削除します。
=IMPORTRANGE("<URL other sheet>";"Sheet1!A2:C")
REF#エラーが表示されますが、エラーにカーソルを合わせると接続を確認できます。
すべてのセルで機能することを確認したので、数式全体をコピーして貼り付けることができます。
=IFERROR(vlookup(B128;IMPORTRANGE("<URL other sheet>";"SHeet1!A2:C");3;false);)
公式ドキュメントに従って、他のシートの完全なURLが必要です。