- ベストアンサー
平成12年3月4日(○曜日)とセルに入ってるデーターを変数として
今日は XP Office2003です、エクセルについて質問いたします。 平成12年3月4日(○曜日)とセルに入ってるデーターから(4日)の4だけを取り出し、それを変数として、 その同じ表内のデータを他のセル等にコピーとか、移動させたいのです。 そのような取り出し方は可能なのでしょうか。 誰か分かる方宜しくお願いします。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
>何故か「1900/1/4」と表示される 1900/1/4(日付)をシリアル値に直せば4になります。書式設定を確認して下さい。 >#value!が出る ・参照先(A1)が空白か、~月~日~の形になっていない ※表示が~月~日~でも、実データ~/~/~を書式設定で日付にしている場合もダメ、この場合はもっと簡単に変換できる ・初めに出てくる"月"より前に"日"が出現している ・初めに出てくる"月"と初めに出てくる"日"の間に数字以外の文字が入っている など
その他の回答 (8)
- nattocurry
- ベストアンサー率31% (587/1853)
> 何故か「1900/1/4」と表示されるのですが?? セルの書式の表示形式を標準にしましょう。
- CMLT
- ベストアンサー率40% (143/357)
No.4です。 文字列の中から日付部分を取り出して数値に直す 関数 の例を提示しただけなんですが… ちなみに最後の*1で文字列を数値に変換しています。
お礼
#value!が出るのですが?? 関数の入力は間違っていないと思うのですが??
補足
すみません!!! 何故か「1900/1/4」と表示されるのですが?? pcの日付をチェックしても合ってるような???
- zap35
- ベストアンサー率44% (1383/3079)
>「平成12年3月4日(土曜日)」から「2000/3/4」に変換出来るのでしょうか。 「平成12年3月4日(土曜日)」がA1セルにあるとき、別のセルに =LEFT(A1,FIND("日",A1))*1 を入力すると「36589」が表示されます(日付のシリアル値)です。 この式が入ったセルの書式を日付形式にすれば「2000/3/4」と表示することも可能です。 また式を以下にすれば日付の「4」だけが得られます。 =DAY(LEFT(A1,FIND("日",A1))*1)
- y_yyy
- ベストアンサー率12% (1/8)
>VBAを組んでいるのですが、VBAからセルデーターを「平成12年3月4日(土曜日)」から「2000/3/4」に変換出来るのでしょうか。 回答番号:No.4 さんの回答あたりが参考になるとおもいます。 セルデータをどうしても「平成。。」で持っている場合は、 No.4さんの方法で日付を取得するのが早いかもしれませんね。
- CMLT
- ベストアンサー率40% (143/357)
>4だけを取り出し、それを変数として とりあえず文字列操作で数値として取り出す場合の関数をば・・・ =MID(A1,FIND("月",A1)+1,FIND("日",A1)-FIND("月",A1)-1)*1 データセルをA1と仮定しました。日付部分が何桁になろうが半角になろうが平気です。
お礼
CMLTさん、有り難う御座います。 早速使ってみます。 ところで(*1)の意味が不明なのですが。 =MID(A1,FIND("月",A1)+1,FIND("日",A1)-FIND("月",A1)-1)*1
補足
CMLTさん、早速VBAでかいてやりましたが、 「コンパイルエラー Sub またはFunctionが定義されていません」 というダイヤログですが、何が原因でしょう。 FIND関数が、必ずFindに自動的に修正されます??? 何か呼び出せない原因があるのでしょうか??? Mid関数ではエラーは出ないのですが???
- nattocurry
- ベストアンサー率31% (587/1853)
平成12年3月4日(○曜日) というデータが入っているセルを選択したときに、上部の数式バーにはどのような値が表示されますか? 2000/3/4 と表示されるのか、 それともそのまま 平成12年3月4日(○曜日) と表示されるのかで、対応は変わります。
お礼
nattocurryさん、有り難うございます 数式バーにはそのまま、平成12年3月4日(○曜日)と表示されます
- y_yyy
- ベストアンサー率12% (1/8)
まずデータとしては、「2000/3/4」など 単純な日付形式で持つようにします。 で、セルの表示形式で「平成12年3月4日(土曜日)」 となるようにします。 →該当セルを右クリック→セルの書式設定で表示形式タブで ユーザ定義を選択して、種類のところに [$-411]ggge"年"m"月"d"日"(aaa"曜""日") と記述し、OKボタンを押下 そのセルの日にちを取り出したい場合は、 DAY関数を使って、取り出せる データのセルがA1の場合は、 =DAY(A1) と表示させたいセルに書けばOKです。
お礼
y_yyyさん、回答有り難う御座います。 >まずデータとしては、「2000/3/4」など 単純な日付形式で持つようにします。 VBAを組んでいるのですが、VBAからセルデーターを「平成12年3月4日(土曜日)」から「2000/3/4」に変換出来るのでしょうか。
- ka-zu-mama
- ベストアンサー率15% (2/13)
平成12年3月4日(○曜日)とセルに入ってるデーター とありますが、データ自体が「2000/3/4」で表示形式が和暦であれば「=DAY(セル)」で「4」を取り出すことはできます。 このセルのデータは、文字列で「平成12年3月4日(○曜日)」と入っているのでしょうか? 文字列であれば、文字列操作の関数を使って取り出すことになると思いますが。
お礼
CMLTさん、有難う御座います もっと勉強してみます