[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルから目的の記号をを抽出する』(かっぱ)
セル内に一定の法則のもとで記号が表示されているので、その記号のみを抽出する関数を教えてください。
○:たなか^△:すずき^□:佐藤
上記のように3つの項目が^で区切られており、その先頭にある
○△□を1つのセルに抽出したいのです。
^で区切られた項目は2以上の場合や、^記号がない場合もあります。
○:たなか^△:すずき^□:佐藤
△:たなか^▼:すずき
○:たなか
△:すずき^□:佐藤^△:すずき^□:佐藤
導きたい内容
○△□
△▼
○
△□△□
よろしくお願いします
< 使用 Excel:Excel2010、使用 OS:Windows7 >
関数の回答が出そうな気もしますが、つなぎでマクロのユーザ定義関数です。
標準モジュールに下記をおき、データがA列にあるならB列に B1=If(A1="","",ConcatLeft(A1,"^")) のような形で。
Function ConcatLeft(indata As String, delim As String, Optional num As Long = 1) Dim w For Each w In Split(indata, delim) ConcatLeft = ConcatLeft & Left(w, num) Next End Function
(Mook) 2015/03/06(金) 00:34
無理やり!!! =LEFT(A1,1)& TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"^",REPT(" ",100)),":",REPT(" ",100)),200,100))& TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"^",REPT(" ",100)),":",REPT(" ",100)),400,100))& TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"^",REPT(" ",100)),":",REPT(" ",100)),600,100))& TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"^",REPT(" ",100)),":",REPT(" ",100)),800,100))& TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"^",REPT(" ",100)),":",REPT(" ",100)),1000,100))
とりあえず6記号まで^と:は全角にしてあります。 (稲葉) 2015/03/06(金) 09:08
よく読んだら変なこと書いてあった
>^記号がない場合もあります。 それ一定の法則じゃない
(稲葉) 2015/03/06(金) 09:09
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.