• 締切済み

このようなユーザー定義の文字列の設定

たとえば「20210411」と入力(またはコピペ)すると、「2021年04月11日」と表示してくれるような、書式におけるユーザー定義の文字列について教えてください。 もうひとつなのですが、同様に、 たとえば「-100」という文字列を入力(またはコピペ)すると、マイナスの部分がとれて「100」表示してくれるような、書式におけるユーザー定義の文字列について教えてください。 Excel2019利用です。

  • frau
  • お礼率54% (2370/4367)

みんなの回答

  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.4

>つまりマイナスがあるときに限り、ユーザー定義で「#,##0"円"」と >設定しても、手動で冒頭に「'」をつけるしかないということでよいですか? 質問内容がズレているのですが。 マイナス円の時に、マイナス記号及び「円」文字は表示しないのではなかったのですか? そのための書式設定です。 そして、その様な書式設定をした場合、セルに入力するのは数字部分のみです。 「100」や「-100」のように入力し、「円」は入れません。 その数値が、書式設定により「100円」や「(赤文字)100」と表示されるのです。

frau
質問者

お礼

質問がズレているのではなく、確認するためでした。 ありがとうございました。

  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.3

>逆に「-100円」をそのまま入力またはコピペしたいユーザー定義を教えてください。 「-100円」を入力できないのは、書式設定のせいではありません。 Excelの動作上の都合です。(値ではなく式の入力と解釈してしまう) 従って、書式設定による解決はできません。 なお、メモ帳などから「-100円」をコピーし、貼りつけることは可能です。 この場合は文字列として貼りつくので、「-100円」がそのまま表示されます。(そして数値計算などには使えません)

frau
質問者

補足

設定を「文字列」にすればよいのはわかりますが、「円」や1,000円というようにカンマを自動で表示させることとは併用できないですよね? つまりマイナスがあるときに限り、ユーザー定義で「#,##0"円"」と設定しても、手動で冒頭に「'」をつけるしかないということでよいですか?

  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.2

>たとえば「-100」が「100」になると「100円」というようにしたいのです。 はい、正の値に適用される書式を変更すれば良いので、 「0"円";0」 とすればOKです。 でもお金の表示であるなら、3桁カンマが付いていた方が見やすいですね。 その場合、 「#,##0"円";#,##0」 と設定すると、3桁ごとの区切りカンマ(必要なとき)が表示されます。 ついでに、マイナス値だけを赤い文字にするなら 「#,##0"円";[赤]#,##0」 なんて指定もできます。 どのような書式文字列で設定されているか、Excelが用意している書式を一度選択してからさらに「ユーザー定義」を選択すると、確認できます。 さらに詳しく知るには、以下のマニュアルを参照してください。 >Excel のセルの表示形式で [ユーザー定義] に使用できる書式記号について >https://support.microsoft.com/ja-jp/topic/excel-%E3%81%AE%E3%82%BB%E3%83%AB%E3%81%AE%E8%A1%A8%E7%A4%BA%E5%BD%A2%E5%BC%8F%E3%81%A7-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9-%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E6%9B%B8%E5%BC%8F%E8%A8%98%E5%8F%B7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-979767bb-6635-c0f5-5e7f-32c69715ccfa

frau
質問者

補足

カンマ付きまでお気を使っていただき、ありがとうございます。無事にできました。 あとひとつなのですが、逆に「-100円」をそのまま入力またはコピペしたいユーザー定義を教えてくだ さい。 「-100」セルに入れるとき「’」をつけなくては整数のままになってしまうので。よろしくお願いいたします。

  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.1

>「20210411」と入力(またはコピペ)すると、「2021年04月11日」と表示 ちょっとこれは書式設定では難しい気がします。 B1セルに 「=Date(A1/10000, mod(A1,10000)/100, mod(A1,100))」と言った計算式を入れると、A1セルの8桁数値を日付に出来ます。 あ、日付値になった後の日本式表示は、書式設定で好きな日付表示形式を選んでください。(標準/G は 2022/4/15 のようになるので) >「-100」という文字列を入力(またはコピペ)すると、マイナスの部分がとれて「100」表示 こちらは書式設定のユーザー定義で「0;0」と入れれば良いです。 セミコロンで区切られた1番目が正の値の時に適用される書式、2番目が負の値に適用される書式となるので、正負どちらでも符号無し表示、となります。 ただしセルに入っている値そのものには符号が付いています。 本当に正の値にしたいならば、B2セルに「=ABS(A2)」のようにすると、A2の値を正の値に変換できます。

frau
質問者

補足

ご回答ありがとうございます。 いちばんめはちょっと難しいですので断念します。 二番目についてなのですが、これに自動で「円」をつけることはできますか?たとえば「-100」が「100」になると「100円」というようにしたいのです。

関連するQ&A

  • エクセル ユーザー定義で""で文字を囲むのはなぜ?

    エクセル2002で、セルの書式設定→ユーザー定義で文字を入力する際に、"赤"などと""で囲むのはなぜなのでしょうか?これで囲まなくてもちゃんと表示されますよね?例えばyyyy年m月d日と入力すれば、ちゃんと2007年8月3日と表示されますが、解説書などを読むとyyyy"年"m"月"d"日"などと書いてあります。なぜなのでしょうか?

  • 【Excel】数字の列を年月日にするユーザー定義

    「20181025」などの数字の列を入力したとき、セルの書式設定のユーザー定義で「2018年10月25日」となるようにすることはできるのでしょうか? もし可能ならばそのユーザー定義の文字列を教えてください。

  • 書式設定ユーザー定義「01月」と自動表記させたい

    数値を入力すると自動で何らかの文字などを付記したい場合、 書式設定のユーザー定義で「G/標準"月"」というように設定しますが、月が一桁の場合を「01月」と設定したい場合のユーザー定義の文字列を教えてください。 Excel2007です。

  • エクセル 書式設定 ユーザー定義

    エクセル書式設定ユーザー定義について  郵便番号の後ろ4桁で、0から始まる数値を0を付け加えた文字列にしたいのですが(例:123を0123と表示、最初の123は数値、0123は文字列で)TEXT関数を使って他のセルには作れるのですが、ユーザー定義での設定は可能でしょうか?

  • ユーザー定義で「年」「年」「日」の間に~を表記

    「セルの書式設定」のユーザー定義で、たとえば 「2020年01年01日」 と自動で表示させたい場合は 「yyyy"年"mm"月"dd"日"」 と設定し、「20-1-1」と入力すればよいのですが、このような入力方法で 「2020年01年01日~2020年01年15日」 という形をユーザー定義で作ることはできるのでしょうか? もし可能でしたら文字列を教えてください。

  • Excelで数値の表示形式をユーザー定義で設定したい。

    エクセル2000を使用しています。 たとえば、123億4560万7000円などの数値は12,345,607,000と 言うように、エクセルのセルに入力しますよね。 それで、〔書式〕-〔セル〕のセルの書式設定の表示形式で ユーザー定義を利用して、123億と表示させたいのですが どうすればよいのでしょうか? 頭の数値左から3桁だけを利用して残りの数値は億と言う文字で くくってしまうというか。。。。 説明がうまくなくてすみません。 または、12,345,607,000(123億4560万7000円)を123億だけは入力どおりに して、残りを0表示することはできますでしょうか? 12,345,607,000を12,300,000,000と表示形式のユーザー定義で できるのでしょうか? たとえば、ユーザー定義のところで#,##0というような方法で、 数値の表示形式を指定できると聞いたことがあるのですが、 こんな感じで億の位以下をゼロの表示する方法がありましたら、教えてください。 どなたかお分かりになる方よろしくお願い申し上げます。

  • 入力がないのにユーザー定義で定義した文字列が常に表示されてしまう。

    入力がないのにユーザー定義で定義した文字列が常に表示されてしまう。 VLOOKUP関数とIF関数を組み合わせて「=IF(A1="","",VLOOKUP(A1,D2:C5,2,FALSE))」という関数を入力しています。 念のため申し上げますと、 VLOOKUP関数で「D2:C5」の表からデータを検索し、そのデータに該当した行の指定列からデータを取り出しているわけです。 IF関数は、「#N/A」エラーを表示させたくないためです。 この計算式を入力しているセルの書式設定を、ユーザー定義で、「"○""○""○""○""○""○""○"@」としたのですが、 A1セルに入力が無く入力の無いはずのセルに「○○○○○」が常に表示されてしまいます。 どこが間違っているのでしょうか? お知恵を拝借させてください。

  • エクセルでユーザー定義を文字列に変えるには?

    エクセルでTODAY関数を使って日付を取得しこれをユーザー定義を使って次のように表示させました。→ABC090225 これを文字列として違うセルに表示させたいのですが、どうしたらよいかわかりません。良い方法をご存知の方教えてください。 よろしくお願いいたします。

  • ユーザー定義の書式設定を文字列データで取得

    他の方が作ったエクセルのワークシートのセルにユーザー定義で書式設定されています。 たとえば、 "AKB-"0000 "SKE-"0000 とか、いろいろあります。 数値で48と入力すれば、AKB-0048やSKE-0048 のように表示されます。 なんでこんなのを書式設定でするんだ!というお叱りはひとまずおいといてください。 この表示された状態を、他のセルに文字列としてAKB-0048やSKE-0048 というデータとして簡単に取得する方法はないでしょうか? 最初、 ="AKB-"&TEXT(A5,"0000") で簡単・・・なんて思ったのですが、ユーザー定義が何種類もあり、一度ではできず結構手間です。 VBAならば Sub test() Dim c As Range For Each c In Selection c.Offset(, 1).Value = c.Text Next End Sub でできるのですがVBA抜きのワークシートの操作でできるかどうかの質問です。 ユーザー定義関数もVBAなので除外させてください。 よろしくお願いします。

  • Excelの、書式設定ユーザー定義について

    横位置「中央ぞろえ」に設定したセルに文字等を入力。 で、入力した文字等を中央に表示させつつ、セルの両端に「と」を表示させたいのです。例えば以下。 ([をセルの左端、]をセルの右端として) [「   入力した文字列   」] 書式設定ユーザー定義で実現できるかと思いまして、 "「"* @* "」" としてみたのですが、 [「入力した文字列      」] となってしまい、駄目です。 どうかご教授お願いします。なお、動作確認はExcel2003です。

専門家に質問してみよう