• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定文字列と不特定文字列の削除方法)

特定文字列と不特定文字列の削除方法

このQ&Aのポイント
  • 特定文字列と不特定文字列を削除する方法について説明します。
  • A列に記録された時刻情報を基にして、B列に表示する際に特定文字列や不特定文字列を削除する方法について解説します。
  • 具体的な削除方法としては、SUBSTITUTE関数を利用して特定文字列や不特定文字列を置換することで実現します。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

A列が文字列と想定して次の数式を提言します。 =IF(ISBLANK(A2),"",IFERROR(LEFT(A2,FIND("(",A2)-1),A2)) 尚、Office 2003以前のバージョンはサポートが終了していますので、Excel 2007以降のバージョンが対象の数式になっています。 数式はA列の文字列の"("がある位置を検出して左から"("の位置の1つ手前までを取り出します。 A2セルの文字列のように"("を含まないときはエラーになりますのでIFERROR関数でエラーのときはA2セルの値(文字列)を採用されます。 IF関数ではA列に未入力のセルのとき文字数が0("")の情報を設定します。 貼付画像のB列は修正結果が文字列です。

reoleus
質問者

お礼

 アドバイスを頂きましてありがとうございました。  皆様のご指摘通り、EXCELの使用バージョンを入れ忘れてしまいました。  当方2010を使用しております。  是非参考にさせていただきます。  

その他の回答 (4)

回答No.4

B1 =left(a1&"(",find("(",a1&"(")-1)+0 B 列のセルの書式を時刻の「13:30」などに設定することにより、小数(シリアル値)を時刻に変換して表示

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

文字列で入力されている部分から特定の文字列(この場合は半角かっこ)以降を削除したいなら以下のようなワイルドカード置換が簡単です。 B列に表示したいならA列をコピーしておき、B列を選択してCtrl+Hで置換ダイアログを出し、検索する文字列に「(*」、置換後文字列に何もいれず「すべて置換」します。 関数で表示するなら以下のような関数が簡単かもしれません。 =IFERROR(LEFT(A2,FIND("(",A2)-1)*1,A2) #ご使用のExcelのバージョンが記載されていないので、ひとまずExcel2007以降のバージョンを使用しているものとして回答しましたが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

「(」より左側のだけ取ってくればOKです。 B1: =IF(A1="","",IF(ISERROR(FIND("(",A1)),A1,LEFT(0&A1,FIND("(",A1&"("))*1)) セルの書式設定の表示形式を時刻(若しくは希望の表示)にして以下コピー。 ご利用のエクセルのバージョンがご相談に書かれていませんが、エクセル2007以降を使っていれば =IFERROR(LEFT(A1,FIND("(",A1&"(")-1)*1,"") 時刻の書式を付けて以下コピー みたいにもっと簡単になります。 ご相談投稿では、普段ご利用のソフトのバージョンまでキチンと明記する事を憶えて下さい。

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

こんばんは! 外していたらごめんなさい。 >不要な文字列(日付が変わった際に、時刻の後ろに日付を付け加えたもの) すなわちA列の時刻データの後に(7/17)のような文字列を追加して入力している訳ですかね? もしそうであればそのセルは文字列となってしまいますので、 B2セル(セルの表示形式はに「時刻」にしておく)に =IF(ISTEXT(A2),REPLACE(A2,FIND("(",A2),7,"")*1,A2) という数式を入れフィルハンドルで下へコピーではどうでしょうか?m(_ _)m