2つのワークシートがあります.1つは列(はい/いいえ)、もう1つは人のリストです。シート2のユーザーの姓がシート1にある場合は、その列に「はい」とマークします。これをスクリプト化する方法はありますか?その行の最後の名前は、その後、「はい」 として列のセルをマークし、シート2上の名前と一致した場合はシート1 異なるワークシートのセルを繰り返して文字列を解析します
- 反復:理想的には私はこれをしたいと思います
2つのワークシートがあります.1つは列(はい/いいえ)、もう1つは人のリストです。シート2のユーザーの姓がシート1にある場合は、その列に「はい」とマークします。これをスクリプト化する方法はありますか?その行の最後の名前は、その後、「はい」 として列のセルをマークし、シート2上の名前と一致した場合はシート1 異なるワークシートのセルを繰り返して文字列を解析します
これを行う最も効率的な方法は、VBAに頼る代わりにワークシート関数を使用することです。 「はい/いいえ」列に次の式を入力して入力します。ここで
=IF(ISERROR(MATCH(A1,Sheet1!$A$1:$A$5,0)),"No","Yes")
A1
あなたが探しているのSheet2からの名前であり、そしてSheet1!$A$1:$A$5
はあなたを介して見てみたいSheet1の名前のリストです。
EDIT:
あなたはSheet1のリストの最初の単語だけを一致させたい場合は、あなたはまだ、配列数式を使用してこれを行うことができます。
=IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(" ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes")
これは、Ctrl + Shift + Enterを押して配列数式として入力します。式は、数式バーの{...}の内側に表示されます。
あなたの名前のリストが「最後の一び」の形式である場合、これは機能します。代わりに、名前が "Last、First"の形式である場合は、代わりに次のものを使用できます。
=IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(", ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes")
データのサンプルを表示した場合は、より簡単になります。しかし、「VLOOKUP」式の使用に関するウェブ検索を行うことができます – JMax
はい、「Joe Bloggs」や「Bloggs Joe」や「Bloggs、Joe」などの名前のサンプルを見る必要があります。あなたは名字と姓を区別していますか? – Reafidy