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