締切済み

excelの、ある数式内の{}の意味合いが知りたい

  • 暇なときにでも
  • 質問No.7339067
  • 閲覧数79
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 84% (11/13)

あるexcelの文字列関数の練習問題として、住所内の都道府県名のみを抽出して表示させる問題がありました。
式はいろいろあると思いますが、いくつかある答えの中のどんな住所でも都道府県名を抽出できる数式として、こんな数式がありました。
次の通りです。

答え
「=IF(OR(MID(A1,3,1)={"都","道","府","県"}),LEFT(A1,3),LEFT(A1,4))」



結果
セルA1「(北海道札幌市X-X-X)」であれば「北海道」を表示


ここで気になったのがOR関数内の{}(中括弧)の意味合いです。
OR関数のヘルプには書いてませんでしたし、()で代用もできない、配列定数・数式のようにも見えません。
自分でも色々調べてみたのですが、結局よくわかりませんでした。


一番キレイに見えた数式でしたので使いこなせればと思うのですが、{}の意味合いだけいまいちわからず。特に()で代用できない理由がよく分からずすっきりしませんでしたので、教えていただければ助かります。

ついでといってはなんですが、もっとキレイ?な式がありましたら、教えていただけると参考になります。

よろしくお願いいたします。

回答 (全2件)

  • 回答No.2

ベストアンサー率 33% (1403/4213)

キーワードは「配列数式」です。
Be MORE 7・12 OK-チップでイイコトはじまる
  • 回答No.1

ベストアンサー率 49% (2537/5118)

こんばんは!
お示しの数式の意味は
普通に書くと

=IF(OR(MID(A1,3,1)="都",MID(A1,3,1)="道",MID(A1,3,1)="府",MID(A1,3,1)="県"),LEFT(A1,3),LEFT(A1,4))

となります。
{ }を使うと数式内の
MID(A1,3,1)=
部分が省略できて少しでも数式が短くなると思います。

ところでお示しの数式の逆手を取って・・・

最初から4文字目が「県」の場合は左4文字を!
それ以外は左3文字を!
という方法でも同じ結果が得られるような気がします。
すなわち

=IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))

といった数式にしてみてはどうでしょうか?

仮に ○○県県×市・・・のような地名がある場合はちゃんと表示されません。

※ 検証していませんので、間違いがあったらごめんなさいね。m(_ _)m
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ