/ / 1つのExcel列を2つの別々の列に分割し、値を分割しますか? - エクセル、エクセル2010

1つのExcel列を2つの別々の列に分割し、値を分割しますか? - excel、excel-2010

値がそのように定義されている単一のExcel列を分割するにはどうすればよいですか。

= HYPERLINK( "http://whatever.com"、 "ウェブサイトのタイトル")

1つはタイトル( "Website Title")、もう1つはURL( "http://whatever.com")の2つの列に分かれています。

誰でも?

(これはExcel 2010用です)

回答:

回答№1は1

VBAを使用したい場合は、これでうまくいきます。

Option Explicit

Sub SplitHyperLinkFormula()
Dim r As Range
For Each r In Selection
If InStr(1, r.Formula, "=hyperlink", vbTextCompare) = 1 Then
r.Offset(0, 1).Value = GetHyperlink(r.Formula) "Split URL
r.Offset(0, 2).Value = r.Value                 "Split Title
End If
Next r
End Sub

Function GetHyperlink(s As String)
"Requires =HYPERLINK formula, assumes hyperlink has no commas.
s = Left(s, InStr(s, ",") - 2)
GetHyperlink = Right(s, Len(s) - 12)
End Function

分割する必要があるものをすべてハイライトしてSplitHyperLinkFormulaを実行するだけです。 2つのセルに必要な2つの値がセルの右側に表示されます。

警告:何らかの理由でハイパーリンクにカンマが含まれている場合、これはURLのカンマの前の部分のみを返します。


回答№2の場合は0

これはVBAを使用しない代替策です。

  1. 範囲を選択し、Find Replaceを使用して=記号を他のもの(#など)に変更します。これは、式を次のような文字列に置き換えます。

    "#HYPERLINK(" http://whatever.com "、"ウェブサイトのタイトル ")"

  2. "(二重引用符)を区切り文字として使用して、列にテキストを使用し、URLとWebサイトのタイトルを除くすべての列を破棄します。