取得して切り出す文字列の長さが固定で無い場合には、どのようにしら良いのでしょうか?
例:
ある適当な文字列を分割
ETUROGO → E T U R O G O
の様に一文字ずつ分割
各文字を他の文字列に変換
E→ 2 や T → 電話 のように全文字を
他の文字に変換
この文字列の長さが固定ならば範囲をして変換
する事が出来るのですが、
取得文字列(この場合は、ETUROGO)の長さが
3文字~20文字程度で決まっていない場合
どのようにしたら自動で変換されるのでしょうか?
LEN関数で文字数を取得
LEFT関数やMID関数等で文字列を切り出す。
という事までは考えたのですが。
文字数が変化してしまうとやり方が分かりません。
また、上記の場合は英文字なのですが同様に
文字列の長さが固定ではなく(4文字~20文字の間)
”東京携帯配備” を ”東京” ”携帯” ”配備”
のように単語で分割し同様に他の文字列に変換
するという場合は、少し異なるのだと思うのですが
INDEX関数等を使えば良いのかな?
とも思うのですが過去の例を見ても理解出来ません。
どうかお教え願います。宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
これは何の質問ですか。
エクセル?また用いる手段は
(1)関数の範囲で解け?
(2)VBAを使っても良い?
(A)ある適当な文字列を分割
関数式で
A1に文字列ありとする。
B1に=MID($A1,COLUMN(B1)-1,1)といれ
B1を最大文字数の列まで10文字でK列まで複写。
B1からK1までに1文字ずつ入ります。
$が大事です。
(B)E→ 2 や T → 電話 のように全文字を
他の文字に変換
VLOOKUP関数を使うことによって、単語数が表を作れるほどの簡単なものなら、表さえ出来れば、可能かと思います。
(C)単語で分割し同様に他の文字列に変換
するという場合
「単語」の判別(切りだし)が、単語辞書を使わないと出来ないので、VBA程度出きる人も、その点のプロでないと出来ないでしょう。増して関数では出来ないでしょう。
APIそのた単語辞書等の仕組みを、深く勉強しないといけないのではと思いますから
こう言うのは、「無理」と言うのでしょう。
フリーソフトなどないか、セミプロの作ったソフトがないか探しましょう。
この回答への補足
早速の回答有り難うございました。
使用ソフトは、エクセルです。失礼致しました。
関数でもVBAでも良いのですが、VBAは使った事が無い初心者です。
しかし丁寧な回答で少し分かりました。
明らかに無理な部分も教えて頂きましたので、もう少し整理してみて、どこまで出来るのか頑張って見ます。
有り難うございます。
No.2
- 回答日時:
Excelですよね?
VBAでfor文使った方がはるかに簡単じゃないですか?
どうしてもVBAを使いたくないなら:
文字数の上限が決まっているなら、IF文で文字数が3文字のとき、4文字のとき・・・としていけば可能ですけど、かなり長くなりますよね。
東京携帯配備の方は、必ず2文字ずつ区切られるのですか??
この回答への補足
早速の回答有り難うございます。
補足させて頂きます。
VBAは、使った事が無いので関数と書いてみました。
VBAという事はマクロを作るという事なのでしょうか?
文字数の上限は決まっているのですが、24文字程度になってしまいます。
東京携帯配備の場合は、1文字~3文字の間になります。
ただ長さは、同様に24文字程度までの間で固定では無いのです。
何か良い方法が有れば、宜しくお願い致します。
No.1
- 回答日時:
使用しているのはEXCELですよね。
文字数が少ない場合は、数式でできますが20文字となると
ユーザー定義関数を作るか、マクロによる自動変換でしょう。
後、変換自体は、SUBSTITUTE関数を使うのが楽だと思います。
A1が”東京携帯配備”なら
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"東京","大阪"),"携帯","電話"),"配備","サービス")
で”大阪電話サービス”になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数値をASCII文字にする方法につ...
-
カンマの含まれる文字列の数値...
-
VB6 機種依存文字の変換
-
fgetws関数で読み込んだUNICODE...
-
マクロで半角を全角に
-
VBAのコマンドボタンの文字列の...
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
ソースコードの1行が長いとき...
-
Excel関数「COUNTIF」で”文字”...
-
エスケープ文字の復帰(¥r)と...
-
C++でのCRLFについて
-
UTF8メールがLotus Notesで文字...
-
全角括弧と全角読点の間隔を狭...
-
グレープシティのSPREAD...
-
【Tex】\\verbatiminputについて
-
文字化け変換方法
-
最終行の改行について
-
バッチファイル 全角検索
-
awkで改行を除いて文字列を抜き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマの含まれる文字列の数値...
-
数値をASCII文字にする方法につ...
-
16進数の文字列をアスキーコー...
-
fgetws関数で読み込んだUNICODE...
-
VBA ASC関数で変換できない文...
-
1バイト文字の上位4ビット・...
-
VB6 機種依存文字の変換
-
マクロで半角を全角に
-
VB6.0 Base64のデコード方法を...
-
VC++ マルチバイト文字とUniCod...
-
HTMLエンティティ文字の変換
-
ヌル文字とは一体何でしょうか
-
エディットコントロールへのUni...
-
機種依存文字
-
サロゲートペア文字の半角カナ...
-
preg_replaceがうまくできない
-
携帯サイトの絵文字の互換性に...
-
外字を削除したい
-
特殊な文字列のデコードについて
-
CSVダウンロードでの文字化け対策
おすすめ情報