下記のA列に時刻が記録されております。
A列
時刻
20:00
21:30
22:00
23:45
0:00(7/17)
1:15
2:00
3:00
21:45
22:15
23:30
1:30(7/18)
4:30
5:00
6:00
上記のA列を基にして、B列にはA列に表示されている(7/17)や(7/18)といった、不要な文字列(日
付が変わった際に、時刻の後ろに日付を付け加えたもの)を削除して表示しています。
B列
時刻
20:00
21:30
22:00
23:45
0:00
1:15
2:00
3:00
21:45
22:15
23:30
1:30
4:30
5:00
6:00
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"(",""),"/",""),")","")
( / )という文字列は表示されなくなりましたが、
日付の数字部分7,17や7,18などの不特定の文字列の削除方法がわかりませんでし
た。
A列を参照して、( / )という特定文字列と、7,17や7,18といった不特定文字列の
を削除して、B列に表示させる方法は有りますか?
何卒よろしくお願いしたします。
No.1
- 回答日時:
こんばんは!
外していたらごめんなさい。
>不要な文字列(日付が変わった際に、時刻の後ろに日付を付け加えたもの)
すなわちA列の時刻データの後に(7/17)のような文字列を追加して入力している訳ですかね?
もしそうであればそのセルは文字列となってしまいますので、
B2セル(セルの表示形式はに「時刻」にしておく)に
=IF(ISTEXT(A2),REPLACE(A2,FIND("(",A2),7,"")*1,A2)
という数式を入れフィルハンドルで下へコピーではどうでしょうか?m(_ _)m
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,"")
時刻の書式を付けて以下コピー
みたいにもっと簡単になります。
ご相談投稿では、普段ご利用のソフトのバージョンまでキチンと明記する事を憶えて下さい。
No.3
- 回答日時:
文字列で入力されている部分から特定の文字列(この場合は半角かっこ)以降を削除したいなら以下のようなワイルドカード置換が簡単です。
B列に表示したいならA列をコピーしておき、B列を選択してCtrl+Hで置換ダイアログを出し、検索する文字列に「(*」、置換後文字列に何もいれず「すべて置換」します。
関数で表示するなら以下のような関数が簡単かもしれません。
=IFERROR(LEFT(A2,FIND("(",A2)-1)*1,A2)
#ご使用のExcelのバージョンが記載されていないので、ひとまずExcel2007以降のバージョンを使用しているものとして回答しましたが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
No.4
- 回答日時:
B1 =left(a1&"(",find("(",a1&"(")-1)+0
B 列のセルの書式を時刻の「13:30」などに設定することにより、小数(シリアル値)を時刻に変換して表示
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列は修正結果が文字列です。
アドバイスを頂きましてありがとうございました。
皆様のご指摘通り、EXCELの使用バージョンを入れ忘れてしまいました。
当方2010を使用しております。
是非参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excel 複数列のある文字を優先して1列に表示したいです 2 2022/12/03 12:07
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで、2種類のデータを...
-
エクセルのまとめてカッコをつ...
-
エクセルで特定の文字が入って...
-
Excelで中央揃えが出来ない?
-
桁の違う数値での並び替え
-
ある列のセルに特定の文字が入...
-
WEEKDAY 空白も7になってしまう
-
セル内文章から、英数字のみ取...
-
excelで、1つのセルに入ってい...
-
エクセルで、数字列の中にハイ...
-
Excelのオートフィル
-
Excelでセルの高さを保ったまま...
-
Excel2013 カラースケールを別...
-
【エクセル】2行に一行のように...
-
INDIRECTの列を可変にしたい
-
Excelでグループの最大値から項...
-
エクセルの関数
-
エクセル、11と1の区別
-
Excel強制終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで2つの数値のうち大きい...
-
エクセルで、2種類のデータを...
-
Excelで中央揃えが出来ない?
-
エクセルで特定の文字が入って...
-
ある列のセルに特定の文字が入...
-
Excel 頭に「0」がついている...
-
エクセルのまとめてカッコをつ...
-
桁の違う数値での並び替え
-
セル内文章から、英数字のみ取...
-
Excel 指定行までコピーをおこ...
-
エクセルに入力した文字列に句...
-
excelで、1つのセルに入ってい...
-
連続データを1行おきに貼り付け...
-
Excel強制終了
-
エクセルで、数字列の中にハイ...
-
Excelのオートフィル
-
Excelの結合でA列とB列の内容...
-
Excelでグループの最大値から項...
-
WEEKDAY 空白も7になってしまう
-
【EXCEL】別シートに同じ番号が...
おすすめ情報