練習問題一覧 / 文字列

桁を揃えた請求番号を作る(TEXT + &)

むずかしい 文字列
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

問題

問題文

受注システムは店舗コードを B2、連番を A2 に持っています。経理が欲しいのは NY-0042 のような固定形式の請求番号です。PDF のテンプレートもバーコードも4桁を前提にしています。Invoice number のセル D2 に入力してください。

連番は4桁に埋める必要があります。単純に連結すると 42 は 42 になり、ケース2 の 7 はゼロが3つ足りません。

問題のデータ

表でデータ全体を見る(選択・コピーできます)
この問題のデータ表
ABD
1Order #StoreInvoice number
242ny

ポイント解説

数値は先頭のゼロを持てないので、埋めるのは書式の仕事です。TEXT(A2, "0000") で 7 は 0007 になり、1023 はそのまま残ります。& は書いた順に部品をつなぎます。UPPER を使うのは、出力される店舗コードが小文字で、請求書の形式は大文字だからです。

解き方のヒント

回答は D2 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。

  1. 回答セルは D2 です
  2. 店舗コードは B2、連番は A2 にあります
  3. TEXT(数値, "0000") で連番を4桁にそろえます
  4. 形は =UPPER(?) & "-" & TEXT(?, "0000") です

模範解答

模範解答を表示(2 通り・まずは自分で試してみましょう)

解法1:& で連結し、TEXT でゼロ埋め

=UPPER(B2)&"-"&TEXT(A2,"0000")

UPPER が店舗コードを大文字にし、TEXT(A2,"0000") が4桁を強制し、& が間にハイフンを置きます。左から右へ読むことが、そのまま請求番号を読むことになります。

解法2:CONCAT で組み立てる

=CONCAT(UPPER(B2),"-",TEXT(A2,"0000"))

CONCAT は部品を引数として受け取ります。あとで範囲をまとめて連結したくなったときに便利です。出力は同じです。

関数ガイド

関連する練習問題

よくある質問

Excel で先頭のゼロを残すには?

数値として持ち、書式で見せます。TEXT(A2,"0000") ならゼロ付きの文字列が返ります。セルに数値 42 が入っている限り、書式なしで 0042 と表示することはできません。数値自体に桁幅がないからです。

店舗コードを UPPER で包むのはなぜ?

出力データの店舗コードは小文字ですが、請求書の形式は大文字です。UPPER を使えば、元データの書き方に左右されません。

& と CONCAT は違うのですか?

どちらも文字列をつなぎます。& は演算子で、部品が少ないときに短く書けます。CONCAT は引数を取り、範囲をまとめて渡すこともできます。ここでは結果は同じです。