• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで、数字の文字数を揃える関数)

エクセルで数字の文字数を揃える関数はありますか?

このQ&Aのポイント
  • 口座引き落としのデータ作成作業で請求金額の文字数を半角10文字に揃える方法を探しています。
  • 手作業で元のデータから半角10文字のデータを作成しているが、エクセルで使用できる関数はあるかを知りたいです。
  • また、書式設定で文字列は使用しないため、マクロ以外の方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 =RIGHT(REPT("#",10)&セル,10)

ken123
質問者

お礼

mu2011 さま 早速のご回答ありがとうございました。 REPT関数ははじめてでした。 たすかりました。今後ともよろしくお願いします。

その他の回答 (4)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

う~ん、 A列に「##########」 B列に「元データの数値」 C列に =SUBSTITUTE(A1,RIGHT(A1,LEN(B1)),B1,10-LEN(B1)+1) (かなり、無理やりっぽいです。もっといい式が他の回答者の方から出ると思いますが。) で、とりあえず表示はできると思います。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.4

書式設定が文字列でなくても、ユーザー定義で「0000000000」と入れれば、見た目が10桁で中身は数値になりますけど、それではダメなんでしょうか。 あとは、10文字入る列幅にしておいて、ユーザー定義に「*#0」とか。 列幅変えると#増えちゃいますが。 でも、文字列を使いたくないということですが、銀行引き落としのデータなんですよね。 この後どう処理するのか知りませんが#が入る方がまずくないです?

ken123
質問者

お礼

chonami さま こちらの質問が少し不明確だったのですが、 今回はNo.2、3様の回答が、もっとも適してました 今後ともよろしくお願いします。

ken123
質問者

補足

chonami様 早速のご回答ありがとうございます。 ご回答いただきましたご指摘はその通りなのですが、銀行へのデータは、(csvではなく)テキストファイルで送る必要があり、その他の作業との絡みで最後にテキストファイル上で、#を0に置換して送信します。 いろいろと考えていたのですが、##########と10文字を入力しておいて、元のデータの文字数を関数で拾って、右からその文字数分だけ、元のデータから関数で##########を変更するなどはできないでしょうか? ########## →#を10文字入力しておく。 112350    →6文字 (LEN関数) ####112350 →右から6文字だけ変更 もしくは、逆に6文字の頭に#を4文字(10-6)付け足すような形でもできそうなのですが・・・ よろしくお願いします。  

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

目的がいまひとつわからないのですが、ご質問の文字列を表示するなら以下のような関数になります(元データがA1セルにある場合)。 =REPT("#",10-LEN(A1))&A1

ken123
質問者

お礼

MackyNo1 さま 早速のご回答ありがとうございました。 REPT関数ははじめてでした。 たすかりました。今後ともよろしくお願いします。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

=RIGHT("########"&A1,8) これでオッケーではないかと。

ken123
質問者

お礼

FEX2053 さま 早速のご回答ありがとうございまいました。 こちらの質問が少し不明確だったのですが、 今回はNo.2様の回答が、もっとも適してました 今後ともよろしくお願いします。