- ベストアンサー
エクセルで、「’」を一括で削除する方法ってありますか?
助けてください! エクセルで、A列の数字すべてに「’」が入っています。 ’19990708 ’20001223 この「’」を一括で削除し、 19990708 20001223 に変更することは出来ますか? (行は3万行くらいあり、手処理で「’」を削除するのは無理なんです) または、A列は日付列なのですが、’19990708を1999/07/08と日付に認識させる関数などはありますか? left関数、mid関数、&と"/"など試してみましたが、「’」が取れませんでした。 (1999/07/08とした後、セルの書式設定→分類→日付→種類で7月8日や7/8と表示を変更させたいのです。) どんな方法でもいいので、どなたか解決方法を教えてください。 よろしくお願いいたします。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 一括で日付データにする方法です。 A列を選択して、メニューの[データ]→[区切り位置]で区切り位置指定ウィザードを開きます。 そうしたら[次へ]を2度クリックして3ページ目に行きます。 そこで、[列のデータ形式]で[日付][YMD]を選択して[OK]します。 これで、A列が日付データになります。 それにしても、「'」を置換で取るという回答が今だに後を絶たないのは、困りものですね。
その他の回答 (10)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 #9 さんの >「'」を置換で取るという回答が今だに後を絶たないのは、困りものですね。 確定していない前なら取れますが、確定した後は、(')アポストロフィは、書式用のプレフィックス文字(')に変換されるので、一般文字としては扱えません。 関数処理では、日付として認識できる数字があるなら =TEXT(A1,"00!/00!/00")*1 これでシリアル値に換わりますので、後は書式設定で出来ます。19990708とあっても、[00!/00!/00]でよいです。
お礼
ご親切なご説明をありがとうございました。教えていただいた通りで出来ました。ありがとうございました。
- nonpq
- ベストアンサー率30% (64/210)
No5です。横から失礼します。 No9さん、目からウロコでした。 一番簡単な方法ですね。 質問者さんにもぜひこちらの方法をお勧めします。 私はExcel95時代から疑いもせず、関数で処理してました。 これから利用させてもらいます。 ありがとうございました。
お礼
私もです!No.5さんに教わった通りにもやってみましたが、こんな手もあったんですね。
- nonpq
- ベストアンサー率30% (64/210)
No5です。ごめんなさい。(2)関数間違えました。 正しくは =DATE(LEFT(A2,4),MID(A2,5,2)),RIGHT(A2,2)) お試し下さい。
お礼
ありがとうございました!すごい!出来ました!!「’」を取らなくても出来ました!ありがとうございます!!!仕事がいっきに片付きました!とても感謝です。
- char2nd
- ベストアンサー率34% (2685/7757)
#4です。 >その後、left関数で左4文字を抜き出すと、やはり「’」マークが出現してしまいました。 Left関数は文字列を編集する関数ですから、返される値は文字列になります。 この場合、たとえばその数値が8桁ならば、 =ROUNDDOWN(<セル番号>/10000,0) とすれば、左側4桁のみが取り出せます。
お礼
ご親切にありがとうございました。すごい!left関数の答えが文字列になるなんて・・・とても勉強になりました。ありがとうございます。
- wisemac21
- ベストアンサー率39% (171/429)
どこか空白セルに「1」を入力し、そのセルをコピーする。 つぎにA列の数字の範囲を選択して、「編集」→「形式を選択して貼り付け」で「演算」の「乗算」を選択して「OK」ボタンをクリックする。 文字列の数字に1を掛けることによって数値に変更するということです。
お礼
ありがとうございました。とても分かりやすいご説明で、この方法はこれから先にもとっても有効利用できます。そんな意味があるなんて知りませんでした。
- nonpq
- ベストアンサー率30% (64/210)
「’」はA列の文字がすべて文字データであることを、セル書式に頼らず指定するためのものだと思います。 ので、再計算を手動に切り替えてからA列文字が(1)全角ならば半角に変換-(2)日付関数によりシリアルに変換-(3)セル書式定義の手順がよいのではないでしょうか? (1)=ASC(セル番号)を別の列(仮にB列)で実行 (2)=DATE(YEAR(LEFT(B1,4)),MONTH(MID(B1,5,2)),DAY(RIGHT(B1,2))) を次の列(仮にC列)で実行 (1)&(2)を下にコピーし再計算実行 (3)セル書式を"yy/mm"などに
お礼
ご回答ありがとうございました! 教えていただいた通りやったのですが、結果は全て「1905/1/1」となってしまいました。どこかで間違えたのでしょうか・・・?
- char2nd
- ベストアンサー率34% (2685/7757)
A列のデータが入っているセルすべてを選択し、空いている列にコピーコマンドで貼り付けます。このとき、「形式を選択して貼り付け」で演算の部分の「加算」にチェックを入れます。すると、この列に貼り付けたデータはすべて”数値”になります。 そのあと、A列の書式設定を数値にしておき、先の数値化したデータを移動(「切り取り」→「貼り付け」)します。 ちなみに、#1さんの方法は私も試しましたが、うまくいきません・・・
お礼
ご回答ありがとうございました! 「加算」にチェックを入れ値の貼り付けをしたら、数値になり大喜びしたのですが、その後、left関数で左4文字を抜き出すと、やはり「’」マークが出現してしまいました。
- Selfishness
- ベストアンサー率29% (29/99)
・A列を選択して「Ctrl+f」 ・ダイアログボックスの「置換」をクリック ・検索する文字列に「’」 ・置換後の文字列は空(何も入力していない状態。スペースも入力しない) ・ダイアログボックスの「すべて置換」をクリック でいけると思います。 「全角と半角のチェックを区別する」もチェックしておいたほうが良いかも。
お礼
ありがとうございました。 「置換」、「全角と半角のチェックを区別する」、どちらもダメでした・・
- mshr1962
- ベストアンサー率39% (7417/18945)
数値化していいなら、 1と入力されたセルをコピーして、該当のセルに形式を選択して貼り付けで乗算する。 日付に直すなら =DATEVALUE(TEXT(A1*1,"0000""/""00""/""00")) の結果をコピーして形式を選択して貼り付けで値として貼り付け、表示形式を設定する。
お礼
ご親切なご回答、本当にありがとうございました!教えていただいた式で希望通りの結果が出ました!とても助かりました。どうもありがとうございました。
- nik650
- ベストアンサー率14% (197/1345)
「編集」「検索」「置換」で’からスペースに変更 できますよ(と、思います)(^_^;
お礼
ありがとうございました。 「置換」ではダメでした・・(涙)
お礼
maruru01さん、いつもご回答を拝見しております!この方法なら関数をかける手間も省け、速いし正確でした。ありがとうございます。