あるexcelの文字列関数の練習問題として、住所内の都道府県名のみを抽出して表示させる問題がありました。
式はいろいろあると思いますが、いくつかある答えの中のどんな住所でも都道府県名を抽出できる数式として、こんな数式がありました。
次の通りです。
答え
「=IF(OR(MID(A1,3,1)={"都","道","府","県"}),LEFT(A1,3),LEFT(A1,4))」
↓
結果
セルA1「(北海道札幌市X-X-X)」であれば「北海道」を表示
ここで気になったのがOR関数内の{}(中括弧)の意味合いです。
OR関数のヘルプには書いてませんでしたし、()で代用もできない、配列定数・数式のようにも見えません。
自分でも色々調べてみたのですが、結局よくわかりませんでした。
一番キレイに見えた数式でしたので使いこなせればと思うのですが、{}の意味合いだけいまいちわからず。特に()で代用できない理由がよく分からずすっきりしませんでしたので、教えていただければ助かります。
ついでといってはなんですが、もっとキレイ?な式がありましたら、教えていただけると参考になります。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは!
お示しの数式の意味は
普通に書くと
=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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/06/06 13:57
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) EXCELで、漢字のみ抽出する式を教えてください。 6 2022/04/27 14:40
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル関数(複雑な) { }←このカッコについて
Excel(エクセル)
-
excelで大括弧を用いて計算したいのですが
Excel(エクセル)
-
配列数式の解除
Excel(エクセル)
-
-
4
エクセルでの計算式で求められた値に( )カッコをつけたいのですが…
その他(パソコン・スマホ・電化製品)
-
5
エクセルで大きな括弧()の方法
Excel(エクセル)
-
6
エクセルで複数行を括弧でくくるには・・
Excel(エクセル)
-
7
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
8
シート番号からシート名を取得する
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
11
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
12
エクセル、この関数の意味は?
Excel(エクセル)
-
13
Excelで配列数式を入力できない
Excel(エクセル)
-
14
【エクセル】関数で「A1が0でないならB1を表示」の式
その他(コンピューター・テクノロジー)
-
15
エクセルで、書式設定をして表示させているものを、表示している見たままを
その他(Microsoft Office)
-
16
VBAでの[]
Visual Basic(VBA)
-
17
Excelで行ごとコピー、同じ行を3行にしたい
Excel(エクセル)
-
18
Excel条件付書式(残業45時間以上になったら色をつけたい)
Excel(エクセル)
-
19
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の値を置換するにはどうす...
-
COLUMN(1:1)の意味を教え...
-
in_addrからchar型の文字列の変換
-
数値を浮動小数点32bitHEXコー...
-
ファイルの特定行を取り出したい.
-
VB 配列の内容をファイルに書...
-
エクセルへのデータの貼付時に...
-
VB.NET 2次元配列
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
数値計算??
-
C言語で全角文字を扱いたいので...
-
Excel-vba 文字列と変数を...
-
インクリメント演算子の前置(+...
-
jsp~jspにhiddenを使って変数...
-
processing エラーで、 "cannot...
-
VBAで配列のNULL判定
-
正規表現で、英数記号を含むパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
エクセルへのデータの貼付時に...
-
VBAのWorksheetFunctionの引数...
-
RichTextBoxの改行を認知してく...
-
数値を浮動小数点32bitHEXコー...
-
VBSで特定の文字列が含まれる場...
-
○桁にある数値を取得する VB.N...
-
COLUMN(1:1)の意味を教え...
-
【エクセル】 関数による電子...
-
VB6で配列を文字列に変換する方...
-
エクセル、この関数の意味は?
-
VB 配列の内容をファイルに書...
-
copyRecordsetの数値16桁以上に...
-
列数の多いエクセルのデータを...
-
VB.NET 2つの配列を連動して並...
-
Javaのプログラムをルビー言語に。
-
Win32APIでシリアル通信をする...
-
ruby "\\001\\376".unpack("C*"...
おすすめ情報