• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのデーターを複数の規則にしたがって-で区切りたい。)

エクセルのデータを規則にしたがって区切りたい方法

chochobizoの回答

回答No.1

数値になっていなくて文字列だと想定しての式です。 セルB1に下記の式を入れて、下へコピーして下さい。 とりあえず法則を全て埋め込んでみました。 =IF(LEN(A1)=11,A1,IF(ISERROR(FIND("-",A1,1))=FALSE,LEFT(A1,3)&"-"&MID(A1,4,5)&"-"&RIGHT(A1,5),IF(LEFT(A1,1)="7",IF(LEFT(A1,2)="7A",LEFT(A1,3)&"-"&RIGHT(A1,11),LEFT(A1,5)&"-"&MID(A1,6,5)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)),LEFT(A1,3)&"-"&MID(A1,4,5)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))))

gx9wx
質問者

お礼

私が悪いと思うのですが 2.○○○○○-○○○○○ → ○○○○○-○○○○○ だけおかしく変換されてしまいました。 ありがとうございました。

gx9wx
質問者

補足

申し訳ありません。 コンピューターから吐き出した場合 セルは「標準」になっています。

関連するQ&A

  • エクセルの式について

    エクセルの式について教えてください。 A列に種類(1、2、…など)B列に金額(数字)というデータがあって、おそらく100行目くらいまでいきます。 各種類ごとの合計について求めたい場合、どのような式にしたらいいのでしょうか? たとえば、言葉で言うと、「A列に1とあるB列の数字について全て足す」なのですが。 分かりにくくてすみませんがよろしくお願いします。 ちなみにデータの並べ替え等はできればしたくありません。

  • Excel のデーター入力規則が別列でソート

    Excelで A列に日付け B列に仕入れ先 C列にその仕入れ先の主な品名などをデーター入力規則で覚えさせていますが、 仕入れ日の都合及び仕入れ先伝票到着日の都合で最後の行に 追加記入、及び仕入れ先をサーチしてまとめて数件記入してから、A列の日付順にソートすると表面の書かれた文字はそのまま各行で並び替えされますが、 データー入力規則は記入した時の行に残ったままの様で次に仕入れ先のデーター入力規則をしようとすると違う表示になっています。 この場合日付をソートした場合その行の(隠れている入力規則)データーも一緒に移動できない物でしょうか? よろしくお願いいたします。

  • エクセルの複数項目をソートするには?

    すみませんが教えて頂けませんか 現在勤めている会社のデータなのですが、 セルのA列(顧客番号:数字のみ)と B列(顧客名:漢字仮名まじり)にあるデータを元として I列とJ列にある項目をA列とB列と全く同じ並びに ソートさせてそれに付随している売り上げの数字が 入力されているK列とL列とM列も I列とJ列に連動して一緒にソートする方法は無いでしょうか? どうぞ宜しくお願いします

  • 《エクセル2000》複数条件の合計(文字数字混在)

    こんにちは。 A・B列に1~3までの数字・C列に任意の数字が入っています。 A列及びB列に1が入っている行のみ、Cの数字を合計したいです。 仮に1~100行にデータがある場合、関数の式は =SUMPRODUCT((A1:A100=1)*(B1:B100=1)*(C1:C100)) …になると思うのですが、A1~C100のセルの中に、ランダムで全角文字が入っているせいか、計算結果が#VALUE!になってしまいます。 ISNUMBERを使えばいいのかとも思いますが、イマイチぴんときません… 詰めの甘い私に、どうかご教授をお願いします。

  • ms エクセル 2003で複数データーの抽出

    ms エクセル 2003で複数データーの抽出貼り付け (例)下のようにA1セル縦にランダムに数字が並んでいます。この縦に 並んでいる数字をB1~B6に任意の範囲に並べる式又は関数をおしえて   A        B               ください。 1 6 16 26 36    1~8までを横に並べる(1 3 5 6 8 )―――例 2 8 18 28 38 12~16までを横に並べる(     ) 3 2 12 22 32 42 11~23までを横に並べる(     ) 4 3 13 23 33 43 20~31までを横に並べる(     ) 5 5 15 25 35 33~39までを横に並べる(     ) 6 1 11 21 21 41 36~43までを横に並べる(     )

  • エクセルのデータ結合について

    エクセルのB列に1~1000までの数字がランダムに500個入っています。 エクセルのC列にも1~1000までの数字がランダムに500個入っています。 同様の列が10行あります。 (B列以降には入っている数字と入っていない数字があります) A列には、1~1000までの数字が順番どおりに全て並んでいます。 次のような感じです。 (並べ替え前の文字列) A  B  C  D・・・  1  3   2  6 2  1   4  5 3  5   5  1 4  6   3 5        6       これを、下の列のように、B列以降の列の数字を並べ変えたいのですが、エクセルはこのような各行の並べ替えはできますでしょうか? 方法がありましたらご教示頂ければ幸いです。 よろしくお願いいたします。 (並べ替え後の文字列) A  B  C  D・・・  1  1     1 2     2 3  3   3 4     4 5  5   5  5 6  6     6

  • 1列のデータを1行に変換し規則性のない文字列削除

    エクセル初心者です。 どなたか、助けてください。 下記のように、1列のひとつのセルに入っているデータを複数ファイルあり A :●● B :▲ C :■■ ●● ▲ ■■ といった 不要で規則性のないデータを削除して 必要な情報(これも規則性がないです) をひとつのファイルのひとつの特定のセルの中に1つづつ行に並べかえたいのです。 いろいろ調べてみて、2列のものなら、行列変換という形で、できるところまでわかって 1列 A :●● 、1 B :▲ 、1 C :■■、1 として、 A :●● ,B :▲ , C :■■ 1     、1    、1 に並べ替えられたのですが、 (1)複数のファイルをひとつにして (2)規則性のない不要なデータを削除して (3)特定のセルに入れたい のですが、 全く知識がないので、何か式を書いたり、プログラムも書いたことがないので 困っています。 どなたか、サルにでもわかるように、 ヒント、知識、お力を貸してください。 お願いします。

  • エクセル/データの入力規則/フィルターが効かない

    お世話になります。 社員の人事データに係る20列×200行のエクセルシートがあります。 ある列に「データの入力規則」にて「入力値の種類」をリストにし、「元の値」の箱の中に3個の選択肢(例えばA,B,C)をカンマで区切って入力し、その列の入力の際にその3個の選択肢をプルダウンで選択できるようにしてから、200行(200個のセル)にAまたはBまたはCの入力をしました。 その後、1列目の項目の行にフィルターをかけ、A(またはBまたはC)が入力されたデータのみ表示させたいのですが、上から150行目まではちゃんとフィルターが掛かるのですが(即ち、A(またはBまたはC)が入力されたデータのみが表示される)、151行目以降はフィルターがかからず、A、B、C全てのデータが表示されてしまいます。 また、この時、エクセル左端の行番号の数字の色が、150行目までは青色ですが、151行目以降は黒色となっており、151行目前後で何かが違っているようです。 但し、自分自身では何かを変えたつもりは全くなく、何故151行目以降でフィルターが効かないのかが全く分かりません。 また、上記と全く同じこと(「データの入力規則」設定後に入力+フィルター)を別のエクセルファイルで行いましたが、そこでは200行全てがちゃんとフィルターが掛かっています。 何故151行目以降でフィルターが効かないのでしょうか? また、解決策は何かあるでしょうか?

  • EXCEL 複数の入力規則について

    EXCELにて複数の入力規則の指定をしたいのですが出来ないので質問しました。 配送トラックの運行情報を入力する為のシートを作っています。 A列に業務が終わったときの距離メーターの数字 B列に業務開始時の距離メーターの数字を入れるようになってます。 業務開始時の距離か終了時の距離か、どちらから打つのか分かりません。 条件は・・・ 「6桁(999999)以上は禁止」 「業務終了時(A1)の距離より業務開始時(B1)の距離の方が小さい」 の2つです。 A1のセルに =IF(B1="",A1<=999999,AND(A1<=999999,B1<A1)) と入れたのですが、FALSEの場合は正確に動くんです。 業務開始時(B1)の距離が入力されていれば、A1にB1より小さい数字は入れられないようになり、999999以上の数字もエラーがちゃんと出ました。 しかし、B1が空で999999以上の数字を入れてもエラーにならないんです。 B1が空の状態でA1は999999以上の数字が入力できないようにしたいのですが分かりません。 だれかわかりましたらアドバイスお願いします。

  • エクセルでのデータの表示

    エクセルでのデータの表示 次のような表が在ります。 A列   B列   100    2   100    2      101    6   101    2   101    6   102    6   102    6   103    2   103    2   103    2    104    6   104    2  ・     ・  ・     ・  ・     ・   これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列  B列  C列 100    2  × 100    2  ×   101    6  ◎ 101    2  ◎ 101     6  ◎ 102    6  × 102    6  × 103    2  × 103    2  × 103    2  × 104    6  ◎ 104    2  ◎ ・      ・  ・ ・       ・  ・ 宜しくお願い致します。