
ある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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
VBAのWorksheetFunctionの引数...
-
エクセル、この関数の意味は?
-
vbsでテキストファイル内の文字...
-
VB 配列の内容をファイルに書...
-
PythonでLoopを使って配列内の...
-
VB.NET 2つの配列を連動して並...
-
VB6で配列を文字列に変換する方...
-
in_addrからchar型の文字列の変換
-
RichTextBoxの改行を認知してく...
-
C言語 exitの使い方
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
数字の位ごとの値を表示するプ...
-
整数xxxが大き過ぎますというエ...
-
足して100になるような乱数のア...
-
Excel-vba 文字列と変数を...
-
VBA シート上にドロップダウン...
-
世界のナベアツ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
エクセル、この関数の意味は?
-
COLUMN(1:1)の意味を教え...
-
数値を浮動小数点32bitHEXコー...
-
エクセルへのデータの貼付時に...
-
○桁にある数値を取得する VB.N...
-
VB6で配列を文字列に変換する方...
-
VBAで配列に文字列が入らない?
-
RichTextBoxの改行を認知してく...
-
copyRecordsetの数値16桁以上に...
-
【エクセル】 関数による電子...
-
複数ディレクトリの監視(VB.NET...
-
VBSで特定の文字列が含まれる場...
-
VB.NET 2つの配列を連動して並...
-
Javaのプログラムをルビー言語に。
-
VB 配列の内容をファイルに書...
-
ruby on railsのscaffoldで配列...
おすすめ情報