1つのセルに次のような値があります
_4,8,2
_
_A1
_セルにあるとしましょう
内側の_8
_(2番目のコンマ区切り値)をこのセルからセルB1に取得するにはどうすればよいですか?
_=?
_
=SPLIT(A1, ",")
で試しましたが、これにより値が分割され、複数のセルに書き込まれます。
何か案は ?
Googleスプレッドシートの場合:
=INDEX(SPLIT(A1,","),2)
ここで、2
は必要なインデックスです。
Excelの場合:
=TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",999)),(2-1)*999+1,999))
またはこの配列数式:
=INDEX(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",999)),(ROW(INDIRECT("1:" & LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))-1)*999+1,999)),2)
配列数式であるため、編集モードを終了するときに、EnterではなくCtrl-Shift-Enterで確認する必要があります。正しく行われると、Excelは数式の周りに{}
を配置します。
再度、2
を目的のインデックスに置き換えます。
4,8,2
各数値の数式。
=LEFT(A1, SEARCH(",",A1,1)-1)
=MID(A1, SEARCH(",",A1) + 1, SEARCH(",",A1,SEARCH(",",A1)+1) - SEARCH(",",A1) - 1)
=RIGHT(A1,LEN(A1) - SEARCH(",", A1, SEARCH(",", A1) + 1))
出典: https://www.ablebits.com/office-addins-blog/2016/06/01/split-text-string-Excel/
注:これは、コンマで区切られた3つの数値に対してのみ機能します。
ExcelでMidを使用できます。次の数式は、最初の「、」と2番目の「、」を見つけて、その間の値を抽出します。=MID(A1,FIND(",",A1,1)+1,FIND(",",SUBSTITUTE(A1,","," ",1),1)-1-FIND(",",A1,1))
値が1桁以上の場合