• ベストアンサー

末尾から指定した文字列を省く関数はありますか?

末尾から指定した文字列を省く関数はありますか? 一つのセル内に 4/9(月) 4/10(火) と日付が並んでいる場合、括弧と曜日だけ省きたいのですが・・・ RIGHT関数だと曜日だけ抜き取ってしまいますし、LEFT関数だと日付が1二桁になったら変えないといけないしで困っています。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

No2で答えた方法でうまくいかないのでしたら次の式をB1セルに入力して下方にオートフィルドラッグしてはどうでしょう。 =IF(A1="","",LEFT(A1,LEN(TRIM(A1))-3)*1)

noname#123141
質問者

お礼

3度もご回答いただき本当にありがとうございます。 =IF(A1="","",LEFT(A1,LEN(TRIM(A1))-3)*1)で希望の値が返るようになりました。 が、ビギナーの私にとって解析するのが難しそうですね^^; がんばって解析してみます。 ありがとうございました。

その他の回答 (4)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

A1にデータが入っているとして、 別セルに、=LEFT(A1,FIND("(",A1)-1)*1 と入力すると、シリアル値で日付になりませんか? というか、よくわからないんですが一つのセルに改行しながら日付が複数入っているんでしょうか? その場合は、データ→区切り位置→次へ→その他にチェックし横のボックスにCtrlを押しながらJを入力 で、改行ごとにセルが分かれますので、その後空きセルに1と入れ、そのセルをコピー→日付セルを選択し形式を選択して貼り付け→乗算でシリアル値へ変更 では如何でしょう?

noname#123141
質問者

お礼

申し訳ありません。改行ではなく、一つのセルに 4/10(月) とはいっている状態です。 質問では日付が二桁のもあります。という意味で二つ並べてしまいました。 逆に分かりにくくなってしまいました。申し訳ありませんでした。 試してみたのですが、=LEFT(A1,FIND("(",A1)-1)*1だとエラーが返ってしまいました。 ご回答ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 LEFT(A1,LEN(A1)-3)*1を使うことでシリアル値に変わっていますので、得られた数値にWEEKDAY関数を使うこともできますね。 あるいは=WEEKDAY(LEFT(A1,LEN(A1)-3)*1)で答えを表示させることもできます。その場合にはセルの表示形式は標準にします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルから下方にデータがあるとしたらB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",LEFT(A1,LEN(A1)-3)) B列のデータを日付の計算に使うことのできる形で表示させるのでしたら次の式をB1セルに入力して下方にオートフィルドラッグしたのちにセルの表示形式を日付にします。 =IF(A1="","",LEFT(A1,LEN(A1)-3)*1)

回答No.1

文字列置き換えで対応してみては? (、)、日、月、火・・・・ とそれぞれの文字を空白に置き換えると消えます。

noname#123141
質問者

補足

せっかくご回答いただいたのに申し訳ありません。 あとでWEEKDAY関数の中に含ませる予定なのでできれば関数でお願いしたいのですが・・・。 質問の説明が足りていませんでした。すみません。

関連するQ&A

専門家に質問してみよう