0

基本的に、私がやろうとしているのは、次の優れた式を持っていることです。

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1),TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1)),IF(ISNUMBER(FIND(",",A1,FIND(",",A1)+1)),TRIM(MID(A1,FIND("&",A1)+1,FIND("&",A1)-3)),IF(ISNUMBER(FIND("&",A1,FIND("&",A1)+1)),CONCATENATE(LEFT(A1,FIND(",",A1)-1),",",TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1))),IF(ISNUMBER(FIND("&", A1)),SUBSTITUTE(A1,MID(A1,FIND(",", A1)+1,FIND(" &", A1)-FIND(",", A1)+2), ""),A1))))

あなたが気づいたら、それのこの部分:

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1)

セルに2つのコンマと2つのアンパサンドが含まれている場合は、何かを実行しようとしています。それ以外の場合は、他のことを行うように指定します。残念ながら、この状態は期待どおりに動作しません。2つのコンマと1つのアンパサンドしかないセルがありますが、次のようになります。

CORNWALL,A ROBERT & CORNWALL,ANNA

これをtrueとして扱い、後続のtrueステートメントを上記のセルに適用します。したがって、後続のtrueステートメントは上記のセルを考慮しないため、VALUEエラーが発生します。2つのコンマと2つのアンパサンドを持つセルのみを考慮します。最初の数式でわかるように、上記のセルにはすでに別のISNUMBER条件があります。

ISNUMBER条件を修正して、実行の最初のレベルで、セル内の2つのコンマと2つのアンパサンドの両方をチェックする方法はありますか?

返信ありがとうございます。

4

1 に答える 1

2

そこにあるコードの何が問題になっているのかわかりませんが、アンパサンドとコンマの数を数えるために別のアプローチを試しましたか?

=IF(AND(LEN(A1)-LEN(SUBSTITUTE(A1,"&",""))=2,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=2),TRUECOND,FALSECOND)

これは少し簡単に思えます。

于 2010-11-08T05:19:17.110 に答える