【アプリ版】サポートOS変更のお知らせ

助けてください!

エクセルで、A列の数字すべてに「’」が入っています。
’19990708
’20001223

この「’」を一括で削除し、
19990708
20001223
に変更することは出来ますか?
(行は3万行くらいあり、手処理で「’」を削除するのは無理なんです)

または、A列は日付列なのですが、’19990708を1999/07/08と日付に認識させる関数などはありますか?
left関数、mid関数、&と"/"など試してみましたが、「’」が取れませんでした。
(1999/07/08とした後、セルの書式設定→分類→日付→種類で7月8日や7/8と表示を変更させたいのです。)

どんな方法でもいいので、どなたか解決方法を教えてください。
よろしくお願いいたします。

gooドクター

A 回答 (11件中1~10件)

こんにちは。

maruru01です。

一括で日付データにする方法です。
A列を選択して、メニューの[データ]→[区切り位置]で区切り位置指定ウィザードを開きます。
そうしたら[次へ]を2度クリックして3ページ目に行きます。
そこで、[列のデータ形式]で[日付][YMD]を選択して[OK]します。
これで、A列が日付データになります。

それにしても、「'」を置換で取るという回答が今だに後を絶たないのは、困りものですね。
    • good
    • 0
この回答へのお礼

maruru01さん、いつもご回答を拝見しております!この方法なら関数をかける手間も省け、速いし正確でした。ありがとうございます。

お礼日時:2005/09/12 21:53

こんばんは。



#9 さんの
>「'」を置換で取るという回答が今だに後を絶たないのは、困りものですね。

確定していない前なら取れますが、確定した後は、(')アポストロフィは、書式用のプレフィックス文字(')に変換されるので、一般文字としては扱えません。

関数処理では、日付として認識できる数字があるなら

=TEXT(A1,"00!/00!/00")*1

これでシリアル値に換わりますので、後は書式設定で出来ます。19990708とあっても、[00!/00!/00]でよいです。
    • good
    • 0
この回答へのお礼

ご親切なご説明をありがとうございました。教えていただいた通りで出来ました。ありがとうございました。

お礼日時:2005/09/12 21:57

No5です。

横から失礼します。
No9さん、目からウロコでした。
一番簡単な方法ですね。
質問者さんにもぜひこちらの方法をお勧めします。
私はExcel95時代から疑いもせず、関数で処理してました。
これから利用させてもらいます。
ありがとうございました。
    • good
    • 0
この回答へのお礼

私もです!No.5さんに教わった通りにもやってみましたが、こんな手もあったんですね。

お礼日時:2005/09/12 21:54

No5です。

ごめんなさい。(2)関数間違えました。
正しくは
=DATE(LEFT(A2,4),MID(A2,5,2)),RIGHT(A2,2))
お試し下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました!すごい!出来ました!!「’」を取らなくても出来ました!ありがとうございます!!!仕事がいっきに片付きました!とても感謝です。

お礼日時:2005/09/12 21:49

 #4です。



>その後、left関数で左4文字を抜き出すと、やはり「’」マークが出現してしまいました。

 Left関数は文字列を編集する関数ですから、返される値は文字列になります。
 この場合、たとえばその数値が8桁ならば、

=ROUNDDOWN(<セル番号>/10000,0)

とすれば、左側4桁のみが取り出せます。
    • good
    • 0
この回答へのお礼

ご親切にありがとうございました。すごい!left関数の答えが文字列になるなんて・・・とても勉強になりました。ありがとうございます。

お礼日時:2005/09/12 21:46

どこか空白セルに「1」を入力し、そのセルをコピーする。


つぎにA列の数字の範囲を選択して、「編集」→「形式を選択して貼り付け」で「演算」の「乗算」を選択して「OK」ボタンをクリックする。

文字列の数字に1を掛けることによって数値に変更するということです。
    • good
    • 0
この回答へのお礼

ありがとうございました。とても分かりやすいご説明で、この方法はこれから先にもとっても有効利用できます。そんな意味があるなんて知りませんでした。

お礼日時:2005/09/12 21:44

「’」は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"などに
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました!
教えていただいた通りやったのですが、結果は全て「1905/1/1」となってしまいました。どこかで間違えたのでしょうか・・・?

お礼日時:2005/09/12 18:09

 A列のデータが入っているセルすべてを選択し、空いている列にコピーコマンドで貼り付けます。

このとき、「形式を選択して貼り付け」で演算の部分の「加算」にチェックを入れます。すると、この列に貼り付けたデータはすべて”数値”になります。
 そのあと、A列の書式設定を数値にしておき、先の数値化したデータを移動(「切り取り」→「貼り付け」)します。

 ちなみに、#1さんの方法は私も試しましたが、うまくいきません・・・
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました!
「加算」にチェックを入れ値の貼り付けをしたら、数値になり大喜びしたのですが、その後、left関数で左4文字を抜き出すと、やはり「’」マークが出現してしまいました。

お礼日時:2005/09/12 18:08

・A列を選択して「Ctrl+f」


・ダイアログボックスの「置換」をクリック
・検索する文字列に「’」
・置換後の文字列は空(何も入力していない状態。スペースも入力しない)
・ダイアログボックスの「すべて置換」をクリック

でいけると思います。
「全角と半角のチェックを区別する」もチェックしておいたほうが良いかも。
    • good
    • 0
この回答へのお礼

ありがとうございました。
「置換」、「全角と半角のチェックを区別する」、どちらもダメでした・・

お礼日時:2005/09/12 18:04

数値化していいなら、


1と入力されたセルをコピーして、該当のセルに形式を選択して貼り付けで乗算する。

日付に直すなら
=DATEVALUE(TEXT(A1*1,"0000""/""00""/""00"))
の結果をコピーして形式を選択して貼り付けで値として貼り付け、表示形式を設定する。
    • good
    • 0
この回答へのお礼

ご親切なご回答、本当にありがとうございました!教えていただいた式で希望通りの結果が出ました!とても助かりました。どうもありがとうございました。

お礼日時:2005/09/12 18:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング