- ベストアンサー
MID(A3,3,1)={"都","道","府",
下記のエクセル関数について。 =RIGHT(A3,LEN(A3)-4+SUM((MID(A3,3,1)={"都","道","府","県"})*1)) MID(A3,3,1)={"都","道","府","県"})*1 この部分は、何を意味しているのでしょうか? 特に、イコールの機能が分かりません。 お手数ですが、よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
神奈川県、鹿児島県の時以外は 切り出しの文字数を1文字増やすためで 条件を満たす場合に”1”が返ります。 後ろの*1は、データを数値化するためです。
その他の回答 (4)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
都道府県が入力されているなら =RIGHT(A1,LEN(A1)-3-(MID(A1,4,1)="県")) でいいような? 対象の部分を範囲選択して[F9]キーを押したり、ワークシート分析の「数式の検証」をしたりするとよいと思います
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
ここがオリジナル?? 解説があるが、3文字県名の場合にポインタ(文字数)を調整している、ラシイ、興味ないけど、、、(都道府県名はほとんどが2文字、例外として県名には3文字がある) かなりトロツキー、否、トリッキイ、、、 住所を都道府県名とそれ以降に分けるには? http://www2.odn.ne.jp/excel/waza/function.html 【問題】住所録を作っていて、入力全部終わってから、「やっぱり都道府県いらない」といわれました。どうすれば、住所を都道府県名とそれ以降に分けることができるでしょうか? 【回答】 A1に住所が入っているとして、以下の式を例えばB1に入力し、必要な行までコピーします。 =RIGHT(A1,LEN(A1)-4+SUM((MID(A1,3,1)={"都","道","府","県"})*1)) C1に以下の式を入力し、必要な行までコピーします。 =LEFT(A1,LEN(A1)-LEN(B1)) これで、例えばA1に「東京都世田谷区」と入っている場合には、B1に「世田谷区」、C1に「東京都」と表示されます。 A1に「神奈川県横浜市」と入っている場合には、B1に「横浜市」、C1に「神奈川県」と表示されます。 【解説】 まずは、都道府県以降を取り出す関数から。 =RIGHT(A1,LEN(A1)-4+SUM((MID(A1,3,1)={"都","道","府","県"})*1)) 47都道府県が全て三文字であれば、単純に =RIGHT(A1,LEN(A1)-3) でいいのですが、神奈川県、和歌山県、鹿児島県は四文字です。 セルA1に「東京都世田谷区」が入っているとして、例えばセルD1に =MID(A1,3,1)={"都","道","府","県"} を入力してから、数式バーをクリックしてF9キーを押すと ={TRUE,FALSE,FALSE,FALSE} と表示されます。これは、セルA1の三文字目が ”都”であるのでTRUE ”道”ではないのでFALSE ”府”ではないのでFALSE ”県”ではないのでFALSE を返しているわけです。 続いてセルE1に =(MID(A1,3,1)={"都","道","府","県"})*1 を入力してから、数式バーをクリックしてF9キーを押してみましょう。 ={1,0,0,0} というふうになっています。TRUEやFALSEは加減乗除されると、それぞれ「1」、「0」として扱われます。 =SUM((MID(A1,3,1)={"都","道","府","県"})*1) という式は、三文字目が"都","道","府","県"のいずれかであれば、「1」を返します。 =LEN(A1)-4+SUM((MID(A1,3,1)={"都","道","府","県"})*1) で、三文字目が”都道府県”であれば、LEN(A1)-3、そうでない場合(神奈川県、和歌山県、鹿児島県)はLEN(A1)-4 分の文字数をA1の右から取り出すようにしているわけです。 セルC1に入力した式 =LEFT(A1,LEN(A1)-LEN(B1)) は都道府県名だけを返します。 住所が入ったセル(A1)の左端から数えて、住所全体の文字数「LEN(A1)」から都道府県を除いた文字数「LEN(B1)」分の文字数を返しているわけです。
住所を都道府県とそれ以降に分ける。 イコールはこれと同じならそれは都道府県名なので 取り出してくれ・・・とExcelにお願いする。 三文字目だけが"都","道","府","県"と同じなら 取り出せ。 A3に「秋田県秋田市秋田町1-2-3」 って住所が書いてある。 この時3文字目に都道府県と同じものがあれば とりだしてくれ。 じゃ 「秋田市秋田町1-2-3」 と記入されていて3文字目は市なので 秋田市は取り出しませんよ。 たぶんこんな感じ・・・
MID(A3,3,1)={"都","道","府","県"} の配列数式は、「セル A3 の文字列の左から3番目の文字が都、道、府、または県の場合は」の意味 ちなみに、上の条件に該当しない都道府県は、神奈川、和歌山、鹿児島 の3県のみ
お礼
大変詳細なご回答ありがとうございます。 ベストアンサーです。