Yahoo!
URLはダミーです。
関数だけでは、姑息な手段を使うしかないような気がします。Excelは詳しくないので可能かも知れませんが…。
姑息な手段としては、たとえば以下のような式。
=1+IF(CODE(MID(A1,1,1))>256,1,0)+IF(CODE(MID(A1,2,1))>256,1,0)+IF(CODE(MID(A1,3,1))>256,1,0)+IF(CODE(MID(A1,4,1))>256,1,0)+IF(CODE(MID(A1,5,1))>256,1,0)+IF(CODE(MID(A1,6,1))>256,1,0)+IF(CODE(MID(A1,7,1))>256,1,0)
これで、A1セルにある半角の先頭位置が返ります。
ただし、以下の制約があります。
制約1:半角以降に再び全角文字がでてこないこと
制約2:7文字以上の文字列には対応できない
制約3:7文字以下の文字列には対応できない
制約2の対応文字数は、+IF(…)を増やすことである程度可能です。
制約3の対応文字数は、もともとのセル(例ではA1)の文字数をCONCATINATEとREPT関数あたりを利用して半角スペースでも追加して埋める必要があります。(例:=CONCATENATE(”三田3-4-5”,REPT(” ”,10))
トンデモ系の回答なので、ポイントは不要です(^^;。
http://www.hatena.ne.jp/1079244362#
エクセルで”文字列内の半角(数字)の位置を求める関数”を捜しています。目的ですが、当方が作成しているエクセルでの住所一覧で、一つのセル内に”三田3-4-5”とある場.. - 人力検索はてな
数字の位置を求める方法で考えてみました。ちょっと姑息な手段です。
対象のセルをFINDで0から9まで探し、それらの最小値を求めます。とりあえず数字がなければ、99を返すことにしています。
=MIN((IF(ISERROR(FIND(”0”,A1,1)),99,FIND(”0”,A1,1))), (IF(ISERROR(FIND(”1”,A1,1)),99,FIND(”1”,A1,1))), (IF(ISERROR(FIND(”2”,A1,1)),99,FIND(”2”,A1,1))), (IF(ISERROR(FIND(”3”,A1,1)),99,FIND(”3”,A1,1))), (IF(ISERROR(FIND(”4”,A1,1)),99,FIND(”4”,A1,1))))
とりあえず長くなるので0から4までです。
なるほど。工夫すればできるもんですね。私の知恵の浅さを痛感です・・・ ありがとうございました。
http://www2.moug.net/app/bbs/message.php?cat=exopr&id=20040304-0...
Excel VBA を学ぶなら moug モーグ
文字列の中から全角だけを取り出して、ふりがなをつける方法はどうでしょうか。
お役に立てなかったら、ポイント不要です。
なるほど。ありがとうございました。
考え方を変えて、「位置を返す」のではなくて「3-4-5を除いた値を返す」という方式でもできそうですね。
例えば、=SUBSTITUE(SUBSTITUTE(A1,”0”,””),”1”,””) … という具合に、数字とハイフンを除いた値を取り出しで、それをphoneticの引数として与えるとか。
なるほど。皆さんお知恵がありますね。本当にありがとうございました。
>トンデモ系の回答なので・・・→いえいえ。ありがとうございました。