[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じ記号が2つ以上の区切り位置』 (たつ)
おはようございます&お世話様です。
A 1 1.01.00001.0 2 1.01.00002.0 3 2.01.00001.0
このようなデータがあります。 これをマクロを使わず、以下のように区切る事は可能ですか?
A B C
1 1.01.00001.0 1.01 00001.0 2 1.01.00002.0 1.01 00002.0 3 2.01.00001.0 2.01 00001.0
ドットが複数あるので、区切り位置での設定は、やはり無理なのでしょうか? よろしくお願いいたします。
データ→区切り位置→スペースによって・・・→次へ 区切りたい「.」の左右をクリック→次へ 0000の部分を文字列にしたいのでフィールドを選択して→文字列→OK ABC列に分割されるので、B列を削除 どうでしょうか?(SoulMan)
なるほど、きちんとした使い方を知っていれば簡単に解決 出来ることなのですね。 勉強になりました。ありがとうございます。(たつ)
解決されたのでしたら、無視してください。 数式で、.の位置が固定していない場合で、2個目の.で区分けするものは、 B1に=LEFT(A1,FIND(".",A1&"..",FIND(".",A1&".")+1)-1)、 C1に=SUBSTITUTE(A1,B1&".",,1)として、これらを下にフィルドラッグすると、 このようになります。 (LOOKUP)
A B C 1 1.01.00001.0 1.01 00001.0 2 1.011.00002.0 1.011 00002.0 3 2.01.00001.0 2.01 00001.0 ↑=SUBSTITUTE(A1,B1&".",,1) ↑=LEFT(A1,FIND(".",A1&"..",FIND(".",A1&".")+1)-1)
解決したのですがちょっと欲が出て、入力しながら 結果が出せる方法はないか、追加質問しようと思っていました。 大変助かります。面倒くさがりなので今回はLOOKUPさんの方法を 使ってみたいと思います。ありがとうございました。(たつ)
大変申し訳ありませんが、C1の数式は、こちらに変更させてください。 =REPLACE(A1,1,LEN(B1)+1,) (LOOKUP)
SUBSTITUTE(A1,B1&".",,1)では、このようになってしまいます。
A B C 1 1.01 1.01 1.01
なるほど。ドットのない値もあり、C列に重複して表示されてしまっていたので 考えていました。 そこで・・・大変恐縮なのですが、K111-1212-2などの値が 同時にA列にあった場合、B列には「K111」・C列には「1212-2」と表示 させるには、どのようにすれば良いのでしょうか? 2つ以上の条件(数式)を入れ込む方法が、よく理解できいません。 よろしくお願いいたします。(たつ)
B1の数式を下のように変更しますと、そのようにできるように思います。 (LOOKUP) =LEFT(A1,FIND(".",SUBSTITUTE(A1,"-",".")&"..",FIND(".",SUBSTITUTE(A1,"-",".")&".")+1)-1)
ありがとうございます。 やってみたのですが、B列には「K111-1212」・C列には「2」と表示されてしまいます。 SUBSTITUTEは、どのような関数なのでしょうか?(たつ)
>やってみたのですが、B列には「K111-1212」・C列には「2」と表示されてしまいます。
先入観からそのようなことは、まったく考えなかったのですが、分割の位置も混在し、 -区切りの場合には、1個目のところで、分割するのでしょうか?
その場合には、B1に下のようにしますと、そのように分割できます。 =IF(COUNTIF(A1,"*.*"),LEFT(A1,FIND(".",A1&".",FIND(".",A1)+1)-1), IF(COUNTIF(A1,"*-*"),LEFT(A1,FIND("-",A1)-1),""&A1))
>SUBSTITUTEは、どのような関数なのでしょうか? 単独の関数の説明は、fxのアイコンをクリックして、文字列操作の中のSUBSTITUTEを 選択し左下の?をクリックして行きますと、親切なヘルプがありますので、こちらを ご覧ください。 (LOOKUP)
ありがとうございました。 思い通りのものが完成しました。 (たつ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.