匿名質問者

1369398802 EXCELで同一セル内に含まれる特定の文字列の間だけを複数セルに抽出するにはどうしたら良いでしょうか?


■対象セル内の情報
AあABいBCうCAえABおBCかCAきABくBCけC

■抽出したい文字
AとAの間の文字
BとBの間の文字
CとCの間の文字
■抽出後イメージ
→添付画像です


文字で説明するとなかなか伝わりづらいかと思うので画像を添付しました。
(当方、VBAコードは書けませんが、VBAを利用していただいても構いません)
わかりづらいようでしたらご質問頂けますと幸いです。
よろしくお願いします

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/31 21:35:04

回答1件)

匿名回答2号 No.1

まともなエラー処理はしておりませんが
こんな感じでいかがでしょうか。

Option Explicit

Function Sandwich(ByVal strSrc As String, ByVal strWrap As String, ByVal intNum As Integer) As String

If strWrap = "" Then
    Sandwich = CVErr(xlErrValue)
Else
    intNum = intNum * 2 - 1
    Do
       strSrc = Mid(strSrc, InStr(1, strSrc, strWrap) + Len(strWrap))
       intNum = intNum - 1
    Loop Until intNum = 0
    Sandwich = Left(strSrc, InStr(strSrc, strWrap) - 1)
End If

End Function

セルB3に

=Sandwich($A$1,B$2,$A3)

とタイプして、それを他のセルに貼ればOKです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません