- ベストアンサー
特定文字列と不特定文字列の削除方法
- 特定文字列と不特定文字列を削除する方法について説明します。
- A列に記録された時刻情報を基にして、B列に表示する際に特定文字列や不特定文字列を削除する方法について解説します。
- 具体的な削除方法としては、SUBSTITUTE関数を利用して特定文字列や不特定文字列を置換することで実現します。
- みんなの回答 (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列は修正結果が文字列です。
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- MackyNo1
- ベストアンサー率53% (1521/2850)
文字列で入力されている部分から特定の文字列(この場合は半角かっこ)以降を削除したいなら以下のようなワイルドカード置換が簡単です。 B列に表示したいならA列をコピーしておき、B列を選択してCtrl+Hで置換ダイアログを出し、検索する文字列に「(*」、置換後文字列に何もいれず「すべて置換」します。 関数で表示するなら以下のような関数が簡単かもしれません。 =IFERROR(LEFT(A2,FIND("(",A2)-1)*1,A2) #ご使用のExcelのバージョンが記載されていないので、ひとまずExcel2007以降のバージョンを使用しているものとして回答しましたが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
- keithin
- ベストアンサー率66% (5278/7941)
「(」より左側のだけ取ってくれば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)
こんばんは! 外していたらごめんなさい。 >不要な文字列(日付が変わった際に、時刻の後ろに日付を付け加えたもの) すなわちA列の時刻データの後に(7/17)のような文字列を追加して入力している訳ですかね? もしそうであればそのセルは文字列となってしまいますので、 B2セル(セルの表示形式はに「時刻」にしておく)に =IF(ISTEXT(A2),REPLACE(A2,FIND("(",A2),7,"")*1,A2) という数式を入れフィルハンドルで下へコピーではどうでしょうか?m(_ _)m
お礼
アドバイスを頂きましてありがとうございました。 皆様のご指摘通り、EXCELの使用バージョンを入れ忘れてしまいました。 当方2010を使用しております。 是非参考にさせていただきます。