• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのFIND関数について)

ExcelのFIND関数について

このQ&Aのポイント
  • FIND関数は、第一引数がnullの場合に1を返す仕様なのでしょうか?
  • A->(1), B->(2), C->(3)という変換は、IF関数を使えば可能ですが、好みで別の方法を採用したい場合、自作関数cutstrとfindCharを使うことで実現できます。
  • findChar関数を使用することで、FIND関数の第一引数がnullの場合に0を返すようにすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

fxウィザードなどに付いている「この関数のヘルプ」で関数のヘルプを読んでみると,その手のことは大概書かれています。 ---以下抜粋 解説 検索文字列に空白文字列 ("") を指定した場合、先頭文字と一致したものと見なされ、開始位置に指定した文字番号、または 1 が返されます。 ---ここまで という事なので,仕様です。 IF関数でY4が""ならと仕分けるのが素直な回避策と思いますが,たとえば対象文字列の先頭にダミーの(検索文字列と絶対に一致させない)1文字を式中で付加しておき,欲しいコタエは必ず2以上で返ってくると言った工夫もありかもしれません。

noname#140971
質問者

お礼

そういう仕様ですか? ならば、納得です。 >欲しいコタエは必ず2以上で返ってくると言った工夫・・・ これは考えましたが・・・。 この質問は、私の関数の使用ミス、あるいは選択ミスを疑ってのことでした。 Excelは、まだ、2、3日しか経験していないので知らないことばかりです。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

本筋のことではないかと思うが cutStrはSplit関数があるのでは? ーー =IFERRORと言う関数は無いのでは?ここまで自作しないでしょう。 =IF(ISERROR(・・とか。 ーー >という変換は,IF関数を使えばOKかと思います。 ですが、 SUBSTITUTEの3段重ね(ネスト)を使う人が多いのでは。 ーー 例が挙げてあるのは良いが、何をしたいのか読み取りにくい。 またはどういう場合にどうなってほしいのか? 全体に、良くわかっている人のようだが、やってること考えていることがピント来ない。 ーー 文章で明確に説明してみてください。

noname#140971
質問者

お礼

>cutStrはSplit関数があるのでは? Split関数に関しては全く使用方法が判りません。 >SUBSTITUTEの3段重ね(ネスト)・・・ これも、皆目です。 >何をしたいのか? A->(1) B->(2) C->(3) という変換。 =cutStr("(1)/(2)/(3)","/", 0) をFIND(Y4,"ABC",1)で行いたい。 ※FIND関数という手法そのものが拙いのか? ※FIND関数でもダミーを先頭に付加しないでやれるのか? ここら辺りの確認のための質問です。