次の方法で共有

ハイフンの左右に小数点を含む数字がある間合いに、ハイフンの右側の小数点を含む数字を取り出したい。

Anonymous
2021-02-15T02:23:12+00:00

例えば、1.1-1.4 6.0-10.0 など桁数の異なる文字列のハイフンの右側の数字を抜き出したい場合、RIGHT(R23,FIND("-",R23)-1) の関数を使用すると、1.1-1.4の場合は1.4と表示され問題ないのですが、6.0-10.0の場合は 0.0 と表示さます。また、6.0-123.5の場合は 3.5

と表示されます。

この表示を桁数が違っても 1.4 10.0 123.5 と正しく表示できる関数を教えてください

宜しくお願いいたします。

Windows8.1 Excel 2013 版です

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

ひまじん 17,185 評価のポイント
2021-02-15T03:38:17+00:00

こんにちは。

RIGHT 関数に指定する文字数(取り出す文字数)は、文字列の右側から取り出すため、全体の文字数からハイフンの位置を引いた数を指定しなければなりません。

なので、お書きになられている数式の場合でしたら、

=RIGHT(R23,LEN(R23)-FIND("-",R23))

とすれば良いかと思います。

一応、こちらの PC環境( Windows10 、Excel2016 )で動作確認済みです。

余談ですが、以下のような数式にすると取り出す文字数を考えなくても済みます。

色々と応用が効きますので、こういった数式もお試しになってみてはいかがでしょう。

ただし、この数式の場合、取り出すことのできる文字数は最大で 100文字(数式内で指定)までになります。

=TRIM(RIGHT(SUBSTITUTE(R23,"-",REPT(" ",100)),100))

あと、余計なことかもしれませんが、どちらの数式も取り出されるのは文字列になりますので、数値として取り出したい場合には数式の最後に *1 を付加すれば可能です。

例えば、

=RIGHT(R23,LEN(R23)-FIND("-",R23))*1

のように。

ご参考になれば幸いです。

<修正>

最後に書いた数式のセルアドレスの一部が検証時のままでしたので修正しました。

失礼いたしました。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2021-02-15T05:37:12+00:00

    早速のご回答ありがとうございます。完璧でした。感謝申しあげます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません