名前の外に既存のデータの列がありますが、これには姓の接頭辞が含まれる場合もあります。それらのプレフィックスは複数の単語の中に存在することができます。私はすべての可能なプレフィックスのリストを持っていますが、私はプレフィックスと姓を分けて、データで2つのカラムを作る必要があります。姓の分割プレフィックスと姓(配列データに基づく)
=IF(
RIGHT(A1;7) = " van de"
;
RIGHT(A1;6)
;
IF(
RIGHT(A1;4) = " van"
;
RIGHT(A1;3)
;
IF(
RIGHT(A1;3) = " de"
;
RIGHT(A1;2)
;
--Insert more nested If statements here--
)
)
)
データは以下のようになります:
Name1 van de
Name1 van
Name1
Name1 Name2 van
Name1-Name2 Name3 van de
Name1 Name2 Name3
私が欲しいもの:
OriginalName | Name | Prefix
-----------------|--------|----------
a b | a | b
a b c | a | b c
私は次のようにExcelの数式を書いていたんでした何
まず、これはかなり非効率的な方法ですが、私はこの公式の作成を自動化しました。とにかく今度は、Ifステートメントのネストされたステートメントに制限があり、その制限を超えなければならないことがわかりました。
この問題をどのように解決すればよいですか?
私は可能な接頭辞を持つ配列を持っています。多分これが助けになるでしょうか?
すべてのプレフィックスを配列内(または範囲内)のループに格納し、その範囲内で操作を必要とする文字列を配列に渡し、if cell = array(i)then soemthingのようなchekcを実行します。 –
セル内の式、またはマクロ内の式接頭辞と残りの名前の間には常にスペース文字がありますか?名前の「身体」は常に単一の単語ですか? – Werrf
@DougCoatsこれは、すべての名前(約9000)に対して、〜20個のプレフィックスのうち1つが存在するかどうかをチェックする必要があることを意味します。これは本当に時間がかかるでしょうか? – Grafit