- ベストアンサー
excel ハイフンの区切り 数式でお願いします。
exel2000利用です。よろしくお願いいたします。 数式で住所の細分化ができるようにしたくて、 住所と番地とマンション名を分けるところまでは自力でできたのですが、 番地などのハイフンをうまくわける方法を悩み中です。 要件としては、、 ハイフンを含めた数字部分のセルを、3つのセルに分けたいのです。 例 「123-45-67」 → 「123」 「45」 「67」 「1234-567」 → 「1234」「567」「」 「12」 → 「12」 「」 「」 住所なので必ずしも3項含まれるわけではありません。 上記のように分けられるようにできますでしょうか? ハイフンは小文字で統一されています。 区切り位置を利用する方法ならわかるのですが、、 随時データが増えていくので、数式で対応したいのです。 何卒ご教授、ご助言お願いいたします。
- kuribooo
- お礼率17% (31/178)
- Windows XP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
FINDで"-"の位置を探し、LEFT,MID,RIGHTで文字列を切り離す ISERRORでエラー発生(="-"が見つからない)場合を切り分ける A1に目標のデータがあるとして =IF(ISERROR(LEFT(A1,FIND("-",A1,1)-1)),A1,LEFT(A1,FIND("-",A1,1)-1)) =IF(ISERROR(MID(A1,FIND("-",A1,1)+1,FIND("-",A1,FIND("-",A1,1)+1)-FIND("-",A1,1)-1)),IF(ISERROR(LEFT(A1,FIND("-",A1,1)-1)),"",RIGHT(A1,LEN(A1)-FIND("-",A1,1))),MID(A1,FIND("-",A1,1)+1,FIND("-",A1,FIND("-",A1,1)+1)-FIND("-",A1,1)-1)) =IF(ISERROR(RIGHT(A1,LEN(A1)-FIND("-",A1,FIND("-",A1,1)+1))),"",RIGHT(A1,LEN(A1)-FIND("-",A1,FIND("-",A1,1)+1))) で、分けられると思われる
その他の回答 (1)
- xkuonx
- ベストアンサー率41% (23/56)
同じくFIND,LEFT,RIGHT,MID,ISERROR,IFを使ってやってましたが、やたら見難いのでVBA(マクロ)がお勧めです。 Excelに下記データがあると想定します。 A1セル:123-45-67 A2セル:1234-567 A3セル:12 1.メニューから[ツール]→[マクロ]→[Visual Basic Editor]を選択 2.Microsoft Visual Basicのウィンドウの左側のツリー状の 「VBAProject」を選択して右クリック→「挿入」→「標準モジュール」を選択 3.下記を入力 Sub split_area() Dim tmp As Variant Dim i, l As Integer For i = 1 To 3 tmp = Split(Cells(i, 1).Value, "-") For l = 0 To UBound(tmp) Cells(i, l + 2).Value = tmp(l) Next Next End Sub 4.Excelのウィンドウに戻って[ツール]→[マクロ]→[マクロ]を選択 3で追加したsplit_areaマクロが表示されているので、選択している状態で「実行」ボタンを押す。 セルB1:D3に"-"区切りのデータが出力されたと思います。 VBAの詳細は調べてみてください。 Cells関数は引数に縦、横を数値化したものを取ります。 Cells(1,1)は"A1セル"を指します。Cells(2,3)は"B3セル"を指します。
関連するQ&A
- エクセルのハイフンあり並べ替えで
エクセル初心者です。例えばハイフンありの27-1 234-1 234-2 28-1 62-1 62-5 62-6 62 などの数字をエクセルで若い順番に並べかえするのは区切りで分割して並べ替える方法が簡単というのは過去の質問でわかったのですが、その後セルが分割せれてる為もとのハイフンありの形にもどす方法がわかりません。結合だと27や234のみの表示になります。色々試したのですがうまくいきません。良い方法を知っている方がおられましたら教えていただきたいです。区切りで並べ替え以外の方法でもかまいません。宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルで住所の並び替え
住所録を作っています。 360 370-1 372-1 というデータがあります。 順番よく並べたいのですが、 ハイフンは無視されてしまいます。 それで、番地の入っているセルを指定して、 ツールバーの「データ」→「区切り位置」で 「カンマやタブなど・・・」を選択して 区切り文字を「-」としてセルを分割。 そして、データの並べ替えで出来ましたが、 A B 1 372 1 という風に、別々のセルになります。 それを一括で372-1(ひとつのセル)にする方法はありますか? ご教授いただければ幸いです。
- ベストアンサー
- オフィス系ソフト
- エクセルの英数入り交じったデータに、ハイフンを入れるにはどのようにすれば良いでしょうか・・・
はじめまして。 今、エクセルにてデータ整備をしています。 英数入り交じったデータにハイフンを入れるのですが、 数が多いため、できれば数式で処理したいと思っています。 単純に、全てのセルの同じ箇所(例えば4ケタ目の後、などに) ハイフンを入れるだけの数式なら問題ないのですが、 英数の文字数がデータによってマチマチです。 結果的には、全てのデータを「英字 -(ハイフン)数字」にしたいと思っています。 英語と数字を見分けて、かつ、ハイフンを間に入れるような数式はあるのでしょうか? 何か良い方法があれば、ぜひ教えていただだければと思います。 どうぞ宜しくお願いいたします。 例)ABCD1234 → ABCD-1234 AB12345 → AB-12345
- 締切済み
- オフィス系ソフト
- エクセルデータのハイフンだけ印刷されない
エクセル2000で、住所データを入力し印刷したところ、 「丁目-番地-号」の間のハイフンだけ印刷されず困っています。 全角半角の変更と、セルの書式「標準」「文字列」の2つを試しましたが どちらも印刷されませんでした。 他に何か設定項目があるのでしょうか...? どなたか教えて下さい。よろしくお願い致します。
- 締切済み
- オフィス系ソフト
- エクセル上のハイフンの消去法
エクセル上のハイフンの消去法 住所録を作成しています。手打ちで郵便番号のハイフンを入力していましたが、その後、セルの書式設定に「郵便番号」という形式を見つけ、ハイフンなしで7ケタ入力できる事が分かりました(⇒入力後、自動的にハイフンをがつくことです)。そこで勉強までにご質問です。手打ちしたハイフンを一括で消去する方法がありましたらお教え下さい。お願い致します。
- 締切済み
- Windows Vista
- エクセル 数式のコピー・貼付について
エクセルの数式のコピー・貼付について教えてください。 シート1にデータが1000行くらい入っているとします。 A B 1 100 5 2 200 3 3 350 9 : : : : : : シート2のセルA1、A2に =A1*B1 シート2のセルA3、A4に =A2*B2 シート2のセルA5、A6に =A3*B3 と、2行ずつ数式を入れたいのですが、 普通にコピー貼付をするとセル番地が自動的に 増えていってしまいます。 2行ずつ、同じセル番地の数式を入れる方法がありますでしょうか。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 「エクセル」で、ハイフンを数字として入力するには?
「エクセル200」を使っています。 ハイフンを使った数字(例えば「1-3」)を入力すると、 自動的に「1月3日」となってしまい、困っています。 それまでは「セルの書式設定」の「表示形式」は 「標準」になっていたはずなのですが、 これもまた自動的に「日付」になっています。 「表示形式」を「文字列」にすると ハイフンはそのままに、「1-3」と入力出来るのですが、 なんとか「数字」としてハイフンを入力する方法は ないでしょうか? と、いうのも「エクセル」で作製したデータを、 「CSV(カンマ区切り)」形式で保存したいのです。 「エクセル」で文字列としてキチンとハイフンを 入力したつもりでも、 「CSV」にするとまた「日付」表示に 戻ってしまっているのです。 これは「CSV」に「文字列」を認識する機能が ないせいでしょうか? どなたかお教え願います。
- ベストアンサー
- オフィス系ソフト
- エクセルでハイフンで示した数値の範囲を別々の数値へ
エクセルでハイフンで示した数値の範囲を別々の数値へ変換したいのですが、行う方法はありますでしょうか。 例:1-5 → 1,2,3,4,5 といった感じです。 なお、実際のセルでは 1,3,6-9,11,14,15-18 といった感じで、範囲と普通の区切りが混在しております。 エクセルで行わなくともソフトウェア等で変換後にエクセルに貼り付けられれば問題ありません。 ご教授のほどよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルでの数式の入力方法
仮に方眼紙に縦をY軸、横をX軸とする座標があった場合、 座標上に点P1(x1=50,y1=50)、から点P2(x2=10,y2=-30)とする直線(斜線)の長さを求める場合、三平方の定理を使って解答をするときの、セル番地を参照しての数式の入力方法を教えて下さい。 セル番地 50(x1)= セル[A7] 50(y1)= セル[B7] 10(x2)= セル[C7] -30(y2)= セル[D7] 解答欄 セル[E7] わかり辛いかもしれませんが、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト