• ベストアンサー

Excelでバイト数の最大数が決まったデータを作りたいんです!

上手く説明出来ないんですが・・。 エクセルで、項目それぞれにバイト数の最大数が決まったデータを作りたいんです。 例えば ◆職員番号・・・バイト数12(半角)         職員番号は8桁なので、その後ろに残り12バイトまでの半角パディング。 ◆氏名 ・・・ バイト数16(全角8字まで)         全角8文字以内なら、その後ろに残り8文字までの全角パディング。         全角8文字を超す氏名なら、8文字で切る。 ◆カナ ・・・ バイト数58(半角)         半角カナ文字で残りの58バイトまで半角パディング。 *これをcsvに変換します! これを文字列だけ打ち込んだら、自動で最大バイト数まで半角・全角を埋めるようにすることは出来るでしょうか? また、氏名のところのように自動で8文字までの入力しか出来なくするようにすることは出来るでしょうか? 説明が下手で申し訳ないんですが、おわかりになる方ご教授下さい。 よろしくお願いします!!

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

  • ベストアンサー
noname#179793
noname#179793
回答No.1

例えばA2に職員番号,B2に氏名が入力されているとして、 職員番号 FIXED(A2,0,TRUE)&REPT(" ",12-LEN(A2)) ※弊社では職員番号は数字なので 氏名 B2&REPT(" ",(16-LENB(B2))/2) 或いは B2&REPT(" ",(8-LEN(B2))) 氏名の8文字規制は、データメニューの入力規則で出来ます。

tsubaki109
質問者

お礼

お陰様で解決しました! ありがとうございました☆

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>最大数が決まったデータを作りたいんです。 って、なに? 誰がデータを作るの (1)VBAなどプログラム (2)関数 (3)人手の入力 ただし制約は、入力規則などで縛る。 (1)や(2)は桁数だけの条件が満たしても、意味の無い文字の羅列のようなデータとなると思うが其れで良いのか。 質問の主旨は、テストデータの作成か。 >説明が下手で申し訳ないんですが 下手なのではなく、質問の主旨の説明や、読む人の不安・疑念を推測して、それに対する先回りの説明が出来てない。 >入力しか出来なくするようにすることは 入力規則の許容文字数の設定。 関数ならREPT関数で繰り返し回数を指定するから、プログラムでも同じなので、考えることが無意味。 なお、プログラムなら、エクセルを通さず、CSV形式のデータが作れる。

tsubaki109
質問者

お礼

お陰様で解決しました! ありがとうございました☆

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

例えば別シートに =LEFTB(Sheet1!A1&REPT(" ",12),12) こんな感じで長さを整えるような式を入れておいて、そのシートをCSV出力しては? 入力文字数の制限の方は、[データ]-[入力規則]の「設定」で設定の条件を 入力値の種類:「ユーザ設定」、数式「=LENB(A1)<9」 と言う感じで設定すれば出来ます。

tsubaki109
質問者

お礼

お陰様で解決しました! ありがとうございました☆

関連するQ&A

  • Excelで22バイトの文字を数えたい

    Excel2002です。 VBAでセルの文字列を取得する時に全角制御文字(2バイト)を含めて22バイトの制限を考慮したいのですがその方法がわかりません。 全角文字だけなら10文字、  半角文字だけなら22文字の取得ができます。 その後の作業の都合上、22バイトを基準に条件判断したいのですが現在はその方法がわからないためLEN()で10を上限としています。LENB()でも同じ結果(文字数が返される)になります。 対象のセルには全角文字/半角文字が混在しており、全角-半角-全角-半角のような混在であれば制御文字を2回考慮する必要があります。 最悪その文字が全角か半角かの区別がつけば対応できると思います。 よい方法をご教授いただきたくお願いいたします。

  • Javaで、半角カナを2バイトとしてカウントしたい

    JavaでSJISで入力された文字列(全角、半角、英字、記号等混在)の桁数チェックで、 入力された半角カナのバイト数を、2バイトとみなしてカウントしたいと考えています。 例えば  全角の"テスト"の場合、バイト数は6  半角の"テスト"の場合も、バイト数は6 Javaで以下の様にコーディングしたところ、半角カナ部分はとりあえずうまく行ったのですが、 System.out.println 半角の"テスト".getBytes("EUC-JP").length; ->6 特殊な文字「まるの1、まるの2」等で試すと、特殊な文字のバイト数が1バイトとして カウントされてしまいます。 ※まるの1、まるの2は、この質問フォームで入力できないのでこの記載としています。 以降は(1),(2)と記載します。いずれも全角1文字の文字のことです。 System.out.println "(1)".getBytes("EUC-JP").length;   ->1      ※希望結果は2バイト System.out.println "(2)スト".getBytes("EUC-JP").length;   ->5      ※希望結果は6バイト 特殊な文字「(1)、(2)」や半角カナ(2バイトとしてカウント)を含めて、 簡単にバイト数をカウントすることはできないでしょうか。

  • バイト数

    こんにちわ。 VB6でのすごく初歩的な質問なんですが、テキストボックスの中の文字のバイト数をLenB関数で取得して表示させようとしたのですが、半角も全角も1文字2バイトとでてしまいますがなぜでしょうか? お暇なときで結構ですのでどなたか回答をおねがいします。

  • 文字のバイト数を数えるには

    なんか一日一問になってしまったのですが、、 よろしくお願いします。 wchar_t 型に入っている文字のバイト数を数えるにはどうしたら良いでしょうか? L"あいう123" のような文字の場合UNICODEの場合12バイトですが、 全角半角区別して9バイトを求めたいです。 UNICODE環境では不可能でしょうか?

  • EXCEL(csv)で全角カナを半角カナに一括変換できないでしょうか

    ある年賀状ソフトに入力してあるデータを 別の顧客管理ソフトにCSVでインポートとしようとしております。 しかし年賀状ソフト側は氏名のふりがなが全角カナで入っており (氏名を入力するとそのままふりがな欄に入力される) 顧客管理側はふりがなが半角カナ管理のためインポートでエラーになってしまいます。 EXCEL(csv)にて全角カナを半角カナに一括変換するような方法をどなたかご存じないでしょうか。 お知恵を拝借できれば助かります。

  • varchar(M)のMは文字数ですかバイト数ですか?

    os:ターボlinuxです。 varchar属性にvarchar(10)と指定すると10文字入ると思っていたのですが、全角で入力すると5文字、半角で10文字でした。 マニュアル6.2のカラム型によると、 M の範囲は 0 〜 255 文字とあります。 TINYBLOB , TINYTEXT は最大長が 255(2^8 - 1)文字 BLOB , TEXTは 最大長が 65535(2^16 - 1)文字 MEDIUMBLOB , MEDIUMTEXTは 最大長が 16777215(2^24 - 1)文字 そして LONGBLOB , LONGTEXT は最大長が 4294967295 または 4G(2^32 - 1)バイト となっています。 LONGだけが「バイト」という表現、それ以外はvarcharも含めて文字数という表現なので、当然文字数でカウントしていると思っていたので完全に計算が狂いました。 これはマニュアルが間違えているのでしょうか? それとも、文字コードによって変わるのでしょうか? その場合、どの文字コードがバイト換算でどの文字コードが文字数換算なのでしょうか? また、MySQLでどの文字コードが使用されているかどこを見れば分かるのですか? となたかご教授下さい。

    • ベストアンサー
    • MySQL
  • エクセルでデータの突き合わせ

    新しい職場で各々が管理しているデータを統一しようと思っています。 sheetA 住所・氏名・氏名カナ・生年月日・台帳番号・個人データ *住所は住居表示変更前のものあり *氏名カナは半角・全角・スペースの有無がいろいろ sheetB 住所・氏名・氏名カナ・生年月日・個人データ *住所・氏名は旧字のものあり *氏名カナは半角のみ sheetA・Bとも約3000件あります。 データの順序はそれぞれ違います。 sheetAにあり、sheetBにはない。またその逆でsheetBにはあるがsheetAにはない人もいます。 まず、sheetA・Bとも住所・氏名・生年月日が一致するデータを抽出したい そして、sheetAにありBにないデータの一覧、sheetBにありAにないデータの一覧を作りたいのですが、関数を使用して作成することはできますでしょうか。 関数にあまり詳しくないので、細かく教えていただくとありがたいです。

  • エクセル セルのデータ量を自動的に16バイトにしたい

    エクセル管理帳票のB列は氏名を入力する列で、CSV出力してデータベースにインポートする際に、B列のすべてのデータは16バイトでなければならないのですが、自動的に足りないバイト数分の半角スペースを入れるにはどうすればよいでしょうか? よろしくお願い致します。

  • EXCEL 関数

    全角カナ文字を半角英数に変換したい。 例えば、<キタノ>⇒<kitano>。全角カナ文字を半角カナ文字に変換するのではなく、半角英数に変換したいのです。宜しくお願いします。

  • 全角、半角文字の判別について

    フォームのテキストで全角なら10文字まで、半角なら20文字まで入力できるようにしたいのですが、EUCの場合、半角カナは2バイトになるため、バイト数で制限をかけるとうまくいきません。かといって文字数で制限をかけてもうまくいきません。 何かいい方法はあるでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう