[[20140423101155]] 『文字列の抜き出し』(picoo) ページの最後に飛ぶ

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

 

『文字列の抜き出し』(picoo)

 お世話になっております。
 論文の目次の整理をしたいと考えております。

     [A]
 [1] 1 aaa ............1
 [2] 2 bbbbbb .........1
 [3] 2.1 cc ...........2
 [4] 2.1.1 ddddd.......2
 [5] 2.1.2 eeeeeeee....3
 [6] 2.1.2.1 ffff .....3

 上記のような目次から、「章番号」と「タイトル」を抜き出したいです。
 具体的には、

     [B]       [C]
 [1] 1         aa
 [2] 2         bbbbbb
 [3] 2.1       cc
 [4] 2.1.1     ddddd
 [5] 2.1.2     eeeeeeee
 [6] 2.1.2.1   ffff

 としたいです。
 ご教授いただければ幸いです。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 VBAだとこんな感じで

 Sub test2()
    Dim a, i As Long
    With Cells(1).CurrentRegion.Resize(, 3)
        .Columns("b:c").ClearContents
        a = .Value
        With CreateObject("VBScript.RegExp")
            .Pattern = "^(\d+(\.\d+)*) ([^\.]+)"
            For i = 1 To UBound(a, 1)
                If .test(a(i, 1)) Then
                    a(i, 2) = .Execute(a(i, 1))(0).submatches(0)
                    a(i, 3) = .Execute(a(i, 1))(0).submatches(2)
                End If
            Next
        End With
        .Value = a
    End With
End Sub
(seiya) 2014/04/23(水) 10:33


 seiya様、早速の書き込みありがとうございます。
 できれば関数でやり切りたいのですが、可能でしょうか?
 (picoo) 

 できると思いますが、私には無理です。
(seiya) 2014/04/23(水) 10:40

 B2=LEFT(A1,FIND(" ",A1)-1)
 C2=TRIM(SUBSTITUTE(LEFT(A1,FIND("..",A1)-1),B1,""))

 で、どうですか?

 ページ番号の前に「.」が一つしかないものがあると
 そこはうまくいきませんが。
  
(HANA) 2014/04/23(水) 10:49

 Seiya様、HANA様、ありがとうございました。
 Seiya様のマクロ、HANA様の関数、どちらでも目的が達せられました。
 (picoo)

 C1 =TRIM(MID(A1,LEN(B1)+1,FIND(".",REPLACE(A1,1,LEN(B1)+1,""))))
 でも
 
(GobGob) 2014/04/24(木) 09:40

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.