こんにちは。
これから年賀状の季節ということで、エクセルでリストを作成し、印刷にまでこぎつけたいと思うのですが、「(株)や(有)を除いた会社名順に並び替えたい」と考えております。
そこで、こちらのOkwebで検索したところ、下記のような式がアドバイスされていました。とてもありがたいです。
ただ、こちらをそのまま使わせていただいてもかまわないのですが、式に興味を持ち、自分で辞書をひいて調べたところ、構造が理解できませんでした。
そこで、どなたかこちらのエクセルの式を訳していただけないでしょうか。
=CONCATENATE(LEFT(PHONETIC(A2),FIND("(",PHONETIC(A2),1)-1),MID(PHONETIC(A2),FIND(")",PHONETIC(A2),1)+1,LEN(PHONETIC(A2))))
CONCATENATE関数で、LEFT関数・MID関数・LEN関数で出したものを結合する?
・LEFT(PHONETIC(A2),FIND("(",PHONETIC(A2),1)-1)
・MID(PHONETIC(A2),FIND(")",PHONETIC(A2),1)+1
・LEN(PHONETIC(A2)
このようにわけられるものでしょうか。
アドバイス、よろしくお願いします!
No.1
- 回答日時:
関数といっても、タダ単なる組み合わせにしかすぎません。
()を除く処理をしてますね。
まず、LEFT(PHONETIC(A2),FIND("(",PHONETIC(A2),1)-1)
最初にある ( までの内容を取り出す。
次にMID(PHONETIC(A2),FIND(")",PHONETIC(A2),1)+1,LEN(PHONETIC(A2)))
)から以降の内容を取りだす。
No.2ベストアンサー
- 回答日時:
まず、式の中に出てくる
PHONETIC(A2)は、A2セルの振り仮名を取得する関数です。
文字が長いのでA$に置き換えます。
=CONCATENATE(LEFT(A$,FIND("(",A$,1)-1),MID(A$,FIND(")",A$,1)+1,LEN(A$)))
次に FIND("(",A$,1)はA$の1文字目から検索して、( を探し、文字の場所を数値で返します。
例 A$="(かぶ)○○商事"なら 1
A$="△△商事(かぶ)"なら 5
長いのでB#に置き換えます
同様に FIND(")",A$,1)をC#に置き換えます
=CONCATENATE(LEFT(A$,B#-1),MID(A$,C#+1,LEN(A$)))
ここまで置き換えると分かると思いますが、
LEFT(A$,B#-1) と MID(A$,C#+1,LEN(A$)) を CONCATENATE で結合しています。
LEFT(A$,B#-1)はA$の文字列の左からB#-1文字目までを取り出し、
LEN(A$)はA$の文字の数を返す関数ですので、
MID(A$,C#+1,LEN(A$))はA$のC#+1から文字の最後までを取り出す。
(正確には MID(A$,C#+1,LEN(A$)-C#+1)だと思いますがLEN(A$)を指定すれば、残り全てを取り出すという事でしょう)
よってA1セルのふりがなの1文字目から(の1文字前までと、)の1文字後ろから最後までを取り出し結合するという事になります。
長い文になってよけい分かりにくかったらすみません。
こんにちは。
アドバイスありがとうございました。
また、お礼のお返事が遅くなってすみません。
置き換えての説明がとてもわかりやすかったです。
そういえば、昔数学の先生に教わっていたような
なつかしい感覚を覚えました^^
やっと理解できました。
ありがとうございましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excelの社員名簿 6 2023/07/10 16:35
- Excel(エクセル) Excelへのデータ入力作業 4 2023/07/01 18:21
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) スプレットシートの関数 3 2023/04/07 11:49
- Excel(エクセル) 関数で複数ある→以降の文字の抽出したい 4 2022/08/07 09:47
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/06/06 10:13
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/01/12 11:36
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サクラエディタのコメントに色...
-
GIMPでの縦書きを横に戻す方法
-
Excel ハイフンより前の数字だ...
-
QRコードってなくならないので...
-
エクセルで、大文字小文字を区...
-
文字の色が黒から青になる
-
四字熟語?故事成語?ことわざ?
-
Excelの、I(斜体)とB(文字を...
-
写真内の文字を消すにはどうし...
-
印刷に使用する文字の色について
-
グレーの文字
-
【OSS-DB】 OSS-DBの問題につい...
-
テキスト文字の数を数えるソフ...
-
"e"の上に`もしくは'をつける
-
エクセルの特定の太文字が入力...
-
ワード2010、文字色切り替えの...
-
iPhoneでgooや各種ウェブサイト...
-
Wordでこのような三角が出てく...
-
ワードに「URL」を貼り付けると...
-
印刷用紙の中央に点線をいれた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サクラエディタのコメントに色...
-
エクセルの特定の太文字が入力...
-
写真内の文字を消すにはどうし...
-
Excel ハイフンより前の数字だ...
-
文字の色が黒から青になる
-
エクセルで、大文字小文字を区...
-
GIMPでの縦書きを横に戻す方法
-
Word2007 文字色が勝手に変わっ...
-
イラストレーター、オブジェク...
-
VBAにてデータが数字か文字...
-
Excelの吹き出し等の文字を検索...
-
QRコードってなくならないので...
-
グレーの文字
-
Photoshop 文字に下線を入れる...
-
iPhoneでgooや各種ウェブサイト...
-
エクセルでメールアドレスの最...
-
印刷に使用する文字の色について
-
セルに色つけたら文字の部分が...
-
エクセル テキスト中一部の文...
-
HPビルダーで文字の囲み線
おすすめ情報