[[20050413084554]] 『同じ記号が2つ以上の区切り位置』 (たつ)  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同じ記号が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.