Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
表示形式の!の意味
投稿日時: 22/01/15 07:41:05
投稿者: -こまち-

A1セルに20220115という数値が入力されているときB2セルに=TEXT(A1,"0000!/00!/00")*1と打つと
2022/01/15と表示されて、目的の結果は得られるのですが=TEXT(A1,"0000/00/00")*1と打つとエラーが帰ってきます
 
/の左にある!はどのような意味になるのでしょうか?

回答
投稿日時: 22/01/15 10:16:37
投稿者: んなっと

例えばA1の214を2/14という日付のように表示したいとします。
 
   A    B   C   D
1 214 214/01 2/14 2/14
 
B1
=TEXT(A1,"0/00")
とすると失敗。この場合の / は、「分数の形式で表示する」という特別な働きを持っているからです。
 
そうではなくて、ただの文字の / でいいんだよ!というときは、
その働きを殺す(エスケープする)ために前に ! を付けます
 
C1
=TEXT(A1,"0!/00")
 
"""" で囲ってもOKです。
D1
=TEXT(A1,"0""/""00")
 
 
 
 
特別な働きを持つ文字はほかにもいろいろあります。
y ...
m ...
# ... 0個または1個の数字
0 ... 1個の数字
 
!を前につけてエスケープすると
!y ... ただの文字 y
!m ... ただの文字 m
!# ... ただの文字 #
!0 ... ただの文字 0

回答
投稿日時: 22/01/15 10:19:52
投稿者: んなっと

ただし、表示形式 "yy/mm/dd" "m/d"のようなときの / はエスケープ不要です。

投稿日時: 22/01/15 10:45:32
投稿者: -こまち-

分かりやすい回答ですんなり理解できました
ネットみたり、社内の人間に聞いてもわからなかったので本当に助かりました!