2016-03-28 4 views
0

私は定期的に処理しなければならないExcel文書を持っていますが、私の会社がこれを自動化するプロセスを構築するのを待っています。最近発見した問題は、 #VALUE以外の結果を返しません! FIND式が私が必要とするテキストを見つけられなかったとき。FINDのExcel式 - IF式

我々が現在持っている式は次のとおりです。

=IF(FIND("-",M2,3),RIGHT(M2,2)) 

この式のチェックはとても「CA-ON」または「US-NV」のように見える状態、それらの中に&地方を有する細胞。 英国の地域は、実際の郡(「エセックス」や「メリーサイド」など)を入力する「UK-XX」として記入しないことが問題です。

私は、セル内のハイフン( - )を見つけたら、そこにある値を取って、数式が入っているセルに書き込んでください。

また、いくつかのセルも空白ですオプションのフィールドです。とにかく、この式を実行するにはどこにありますか? "

+0

別の 'if'文をネストしますか? – findwindow

答えて

3

3番目の文字がある場合半ばの使用について()を参照するにはどのような " - "

=IF(MID(A1,3,1)="-",RIGHT(A1,2),A1) 

enter image description here

あなたが本当にその後のfind()関数を使用する場合:

=IF(ISNUMBER(FIND("-",A1)),RIGHT(A1,2),A1) 

enter image description here

0

ここでIFERROR関数が役立ちます。そして、if文をもう使用する理由はありません。下の数式は、最初の3文字にハイフンが含まれていることを確認し、文字列の長さからハイフンの位置を差し引いた文字列を返します。 IFERRORはハイフンがないインスタンスをキャッチし、元のセルを返します。

=IFERROR(RIGHT(M2,LEN(M2)-FIND("-",LEFT(M2,3),1)),M2) 
+0

これはうまくいきません。郡の名前にハイフンがある場合は、郡の後半にしか行きません。 –

+0

私は数式を更新しました。自分自身や@ScottCranerが投稿した3つのうちのどれかが動作するはずです。 –