電子書籍の厳選無料作品が豊富!

文字列の文字数が列で同じならLEFT、RIGHTで作ることができるのですが、
左右の文字数がランダムの場合がわかりません。

(例)

A列
AAA-AAAAAA
AA-AAAAA
AAAAA-AA


B列    C列
AAA   AAAAAA
AA    AAAAA
AAAAA AA

この時のB1とC1の数式の作り方をご教授ください。
宜しくお願いいたします。

A 回答 (3件)

こんにちは!



「-」は全角のマイナスとします。

B1セルに
=LEFT(A1,FIND("-",A1)-1)

C1セルに
=MID(A1,FIND("-",A1)+1,LEN(A1))
または
=SUBSTITUTE(A1,B1&"-","")

としてフィルハンドルで下へコピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/09/14 11:47

ご使用のExcelのバージョンが2007以降なら以下の式を入力して下方向にオートフィルコピーします。



B1セル   =IFERROR(LEFT(A1,FIND("-",A1)-1),"")
C1セル   =IFERROR(MID(A1,FIND("-",A1)+1,100,"")

実際は関数を使わずに、A列を選択して「データ」「区切り位置」で「次へ」をクリックして、区切り文字の欄で「その他」の枠に「-」を入力し、「次へ」で出力先にB1セルを選択して「完了」するのが簡単です。

Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
    • good
    • 0
この回答へのお礼

無事、返すことができました。

ありがとうございます。

以後バージョン情報など注意いたします。

お礼日時:2014/09/14 11:51

必ずハイフンがあるのだったら



left,midの引数として
FIND("-",a1) として±1ぐらいで文字列の長さを調節すればOKです。

例えば、 =left(a1,find("-",a1)-1)
      =mid(a1,find("-",a1)+1,10) midの場合、大目の長さを指定しても問題ありません。
  =right(a1,len(a1)-find("-",a1))
     といった具合です
    • good
    • 0
この回答へのお礼

無事に返すことができました。

ありがとうございました。

お礼日時:2014/09/14 11:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!