[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字列の抜き出し』(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.