Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
TEXTで作った日付の書き式設定の作り方はどうやる?
投稿日時: 22/12/21 21:32:39
投稿者: akibacom

エクセルで
TEXT(2022/05/10,"yyy/mm/dd")
で作った
2022/05/10
を、書き式設定で同じように作るにはどうすればいいでしょうか?
書き式設定では作れなくて、何かで作れるのでしょうか?
 
VLOOKUP関数で
F7に2022/05/10
と入力して書き式設定を
yyyy,mm,dd
としても、見た目は同じでも
=IFERROR(VLOOKUP(F7,J:K,2,0),0)
とするとデータを持ってきてくれません
 

投稿日時: 22/12/21 21:36:44
投稿者: akibacom

VBAのTEXTで作った、日付をコピーして
その枠にペーストすると
VLOOKUP関数でその枠を指定すると
データを取りに行ってくれます
 
自分で打ち込み書き式設定で
yyyy/mm/dd
としてもデータを取りに行ってくれません

回答
投稿日時: 22/12/21 22:27:36
投稿者: 半平太

やっていることがちょっと分からないです。
 
>エクセルで
>TEXT(2022/05/10,"yyy/mm/dd")
>で作った2022/05/10
なぜ、わざわざ TEXT(2022/05/10,"yyy/mm/dd") で文字列にするんですか?
それで困っていたら、やらない方がマシってことになりませんか?
 
そこの事情を説明して頂けませんか?
 
>その枠にペーストすると
ペーストした時点でデータ型が文字から数値(日付シリアル値)に変わった可能性があります。
そうだとしても、これもわざわざVBAでTEXTにする意味がないじゃないですか?
 
もしかすると、今までの経緯を説明していただくより、
最終的にやりたいことを説明して貰った方が話がはやいかもです。

回答
投稿日時: 22/12/21 22:57:35
投稿者: WinArrow
投稿者のウェブサイトに移動

VLOOKUPで日付形式のセルを検索キーとする場合の注意事項
 
検索キーセルの表示形式は日付
参照範囲の左側列の表示形式も日付形式
 
という場合
 
=VLOOKUP(F7*1,範囲,2,False)
検索キーを数値化すると、対応できる場合があります。
 
※表示形式は、見た目です。
関数では、見た目は使いません。・・・・と覚えておくこと

回答
投稿日時: 22/12/23 22:35:22
投稿者: WinArrow
投稿者のウェブサイトに移動

引用:
書き式設定

  
気似たのでッたので、コメントしておきます。
  
「書き式設定」ではなく「書式設定」です。
ひらがなで「しょしきせってい」と入力して変換できると思います。。
  
また、セルの表示形式が「標準」である時
2022/12/5
と入力すれば、表示形式は、「日付」と認識されます。
セルに表示形式で確認してみてください。
  
TEXT関数は、文字列に変換する関数ですので、結果は、日付形式にはなりません。
関数で、表示形式を設定することは無理です。
 
 
Excelで日付を扱うとき、理解しておいた方がよいことを紹介します。
 
まず、セルには、「値」と「セルの書式」がります。
数式で扱うのは、基本的に「値」です。(セルの書式は使いません)
 
それで、「日付」の「値」は、数値です。
例えば、2022/5/10は、「44691」という数値です。
44691は、1900/1/1を「1」とした、通算日数です。
2022/5/10は、1900/1/1から44691日目ということです。
 
でも、このまま人間が「値」として認識し、利用できるかというと
とても厄介なことになり、使い物になりません。
そこで、見た目の「値」として「2022/05/10」を数式バーに表示しています。
 
表示形式は、「値」をどのように見せる(見える)かを設定するものなので、
「/」を「.」や「,」など、目的によって使い分けできます。
「yyyymmdd」とすることもできます。「ggge年m月d日」とすることもできます。
「値」の中にいろいろな文字列が入っていると、計算には使えませんよね?
ですから、見た目にとらわれることはなく、計算ができるのです。
 

回答
投稿日時: 22/12/24 10:20:05
投稿者: WinArrow
投稿者のウェブサイトに移動

追加
 
TEXT関数は、結果が文字列と書きましたが、「値」が文字列ということですよ。
なお、「値」が文字列は、表示形式も文字列です。それ以外の設定はありません。

トピックに返信