• ベストアンサー

エクセル 文字列-文字列 を数式で区切りしたい

文字列の文字数が列で同じならLEFT、RIGHTで作ることができるのですが、 左右の文字数がランダムの場合がわかりません。 (例) A列 AAA-AAAAAA AA-AAAAA AAAAA-AA ↓ B列    C列 AAA   AAAAAA AA    AAAAA AAAAA AA この時のB1とC1の数式の作り方をご教授ください。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 「-」は全角のマイナスとします。 B1セルに =LEFT(A1,FIND("-",A1)-1) C1セルに =MID(A1,FIND("-",A1)+1,LEN(A1)) または =SUBSTITUTE(A1,B1&"-","") としてフィルハンドルで下へコピーしてみてください。m(_ _)m

kenthehg
質問者

お礼

ありがとうございます。 見事に作ることができました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

ご使用のExcelのバージョンが2007以降なら以下の式を入力して下方向にオートフィルコピーします。 B1セル   =IFERROR(LEFT(A1,FIND("-",A1)-1),"") C1セル   =IFERROR(MID(A1,FIND("-",A1)+1,100,"") 実際は関数を使わずに、A列を選択して「データ」「区切り位置」で「次へ」をクリックして、区切り文字の欄で「その他」の枠に「-」を入力し、「次へ」で出力先にB1セルを選択して「完了」するのが簡単です。 Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

kenthehg
質問者

お礼

無事、返すことができました。 ありがとうございます。 以後バージョン情報など注意いたします。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

必ずハイフンがあるのだったら left,midの引数として FIND("-",a1) として±1ぐらいで文字列の長さを調節すればOKです。 例えば、 =left(a1,find("-",a1)-1)       =mid(a1,find("-",a1)+1,10) midの場合、大目の長さを指定しても問題ありません。   =right(a1,len(a1)-find("-",a1))      といった具合です

kenthehg
質問者

お礼

無事に返すことができました。 ありがとうございました。

関連するQ&A