• ベストアンサー

EXCELで 一桁の数値を二桁に

教えてください。 エクセルで、入っているデータを編集しているのですが A列には、一桁の数値が B列には、1桁から2桁の数値が C列には、1桁から2桁の数値が D列には、文字データが入っています。 D列のデータに対する対応表を作るために このA~C列のデータを CONCATENATE関数を使って合体させたいのですが、 (合体させると、数値がダブらない為) B列とC列に入っている1桁の数値を 2桁に変換したいのですが、 何かよい方法はありませんでしょうか? 手打ちで変換するには、かなり多いデータなのです。 どなたか、助けてください。

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

  • ベストアンサー
  • ysko614
  • ベストアンサー率31% (103/329)
回答No.2

1桁から2桁にする列際に文字列であれば、 =IF(B1<10,0&B1,B1) とすれば数字が2桁(10よりも小さい整数であれば)になります。ここでは0にしていますが、他の数字でも可能です。これをB列とC列に設定すれば一桁の場合には、文字列ですが01、02、03などと頭に0が付いた文字列になります。 当然2桁の場合はそのまま表示されます。最終的にこのB列をコピーし形式を選択して貼り付けで、値コピーすれば問題なく表示されます。 その結果に対して、CONCATENATE関数を使えばいいかと思います。 他の方法も色々と回答していると思います。ご参考なれれば幸いです。

taa1031
質問者

お礼

ありがとうございます。 とてもわかりやすく、丁寧に説明していただいて、 なんとか出来そうです。 参考にさせていただきます。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

D1=A1*10000+B1*100+C1 とか D1=A1&TEXT(B1,"00")&TEXT(C1,"00")

taa1031
質問者

お礼

ありがとうございます。 参考にさせていただきます。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.3

単に1桁の数値を2桁表示するだけでしたら =TEXT(B1,"00") という関数で可能です。1桁なら頭に「0」がつきます。 A~Cを繋げてコード番号とする場合、No.1で回答されている計算式が簡単で良いですね。 で、敢えてTEXT関数を用いるなら、こんな感じでも書けます。 =A&TEXT(B1,"00")&TEXT(C1,"00")

taa1031
質問者

お礼

ありがとうございます。 丁寧に説明していただいて、出来そうです。 参考になりました。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

CONCATENATE関数を使わない方法がありますが・・・ =A1*10000+B1*100+C1

taa1031
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • エクセルで2つの数字を合体させる

    お世話になります。 A1に100、B1に1 A2に200、B2に15と各セルに数字が入力されていて それぞれを合体させてC1に10001、C2に20015と5ケタの数字を表示をさせたいのですが、CONCATENATE関数を用いて行った場合、1行目は1001と4ケタになってしまいます。桁をそろえて全てを5ケタにして合体させたいのですが・・・。(但し、B列には1ケタか2ケタの整数しかありません。) こういった場合、どのようにすればよろしいでしょうか? わかりづらい文章ですみませんが、何卒、ご存知の方、ご教授いただきたく、お願いします。

  • エクセルで、6桁の数値から、大きな位の数値から4桁を取り除き、残る数値を表したい。

    初心者です。 エクセルのセルに6桁と7桁の数値が 不規則に並んでA列に入っています。 6桁でも7桁の数値でも、大きな位の数値から4桁を取り除き、 1の位と10の位の2桁の数値、7桁では、3桁の数値に B列に入れたいのですが、数式を使って出きることですか? 例)846529 の場合には 29、 2576846 の場合には846.が欲しい。 よろしくお願いします。

  • 関数を抜いて数値だけにするには

    関数「&」を使って、数値を合体させました。 C1[123] , D1[456] → E1[=C1&D1=123456] というようにです。 ですが、返した 123456 の 34 を置き換えで 78 を入れ換えたいのですが、 対象置き換えデータが見つかりませんとなります。 そこで、E1の関数を抜いた数値だけの値に変換すればと思ったのですが、どうやったらいいのでしょうか?

  • Excel(数値の非表示)

    日々の出費を管理する表を作っています。 A列は日付、B列C列D列は項目別の数値 E列はその日付の数値の合計(B1+C1+D1) F列はその日までの累計(A列ではE1=F1、B列以降はF1+E2) この表の翌日以降のE列、F列の数値を表示したくないのですがどうしたらよいでしょうか? E列に関しては、翌日以降はB列C列D列が未入力となり必ず0が入るので、オプションで「ゼロ値」のチェックをはずすことで対応しようと考えているのですが問題ないでしょうか? F列に関しては数値が0にはなりませんので関数を使うことになるかと思うのですが、それが分からず困っています。 初歩的な質問と思いますが宜しくお願いします。

  • 一番大きな数値がどこにあるか返す

    Excelで次のようなデータが入っているシート上で、一番大きな数値が入っているセルの位置をe列に返す関数の組み方がわかりません。  A B C D E 30 45 42 51 だったら、e列から1列隣の51が一番大きいので  A B C D E 30 45 42 51 1 同じく、  A B C D E 23 40 32 31 だったら  A B C D E 23 40 32 31 3 といった感じの関数の組み方を教えてください。

  • エクセル 数値データを桁をそろえて文字列データに変換するには

    よろしくお願いします。 エクセル2002を使用しています。 数値データとして整数1桁、2桁、3桁のデータが混在してあります。 これを1桁、2桁のものは前にゼロを付けて全て3桁の文字列に変換する方法はありますか? できれば関数を使って 例  数値 文字列   8⇒008  12⇒012 235⇒235  11⇒011 できた文字列で品番コードとして使用します。 どなたかご存知の方、ご教授お願いします。

  • エクセルの文字列を結合しても、数値の桁区切りが消えないようにするには?

    例えばエクセルで、 「A1」のセルには「定価」、 「A2」のセルには「1000」、 「A3」のセルには「円」という文字が入っていたとします。 このエクセル上の文字列を「=CONCATENATE(A1,A2,A3)」の関数で結合します。 「A2」の書式設定は、数値にして桁区切りにチェックを入れているので、 セルの表示上は「1,000」となっていますが、「CONCATENATE」でセルを 結合した後の結果は以下のようにカンマが消えてしまいます。 CONCATENATE(A1,A2,A3)の結果 ⇒ 定価1000円 これを「定価1,000円」という風に表示させる良い方法はないでしょうか? 宜しくお願いいたします。

  • excelの関数をしえてください。

    こんにちは。exceldでの関数で質問です。 使用関数と検索範囲の指定の方法を教えてください。 表は2つあります。 表1は行タイトルがクラス名(A~D)、列タイトルに1~25までの級を表す数字の入った表です。参照表です。  A B C D 1 ○ ◇ ■ △ 2 △ ○ ◇ ■ (内容はすべて違うものです) 3 ■ △ ◇ ○ 4 5 表2は関数を利用して表1より該当するセルの内容を 表示したいのです。 表2 A列にクラス(A~D 表1と同じ項目) B列に級 C列に数値 D列に前年度数値  クラス 級 数値 前数値 A 2 △ △ C   5 ○   ○  B 1 D 3 C列にはD列の前数値の近似値を表1より参照したいのです。その際にクラスわけからAであれば表1の Aクラスの列から近似値をさがしたいのです。 B列にはC列で求めた近似値が表1でどの級かを 求めたいのです。 表2のクラスわけがランダムなのと、 検索範囲がクラスによって異なる箇所となるので 検索範囲の指定の方法、さらにはどの関数を 使用して行えばよいのかわかりません。 説明がわかりづらいかと思いますが、 宜しくお願いします。 OS:NT4.0 excel2000 を使用しています。

  • エクセルで数値と文字が入ったセルからの数値の抽出

    皆さんこんにちは。 エクセルの使い方についての質問です。 添付画像の例のようにA列に 「XXYYYZZ(XとZは文字、Yは数値で3桁または4桁)」というフォーマットで 数値と文字が入っているセルがあります。 同様にB列には「WWZ(Wは数値)」というフォーマットで、 同様に数値と文字が入っているセルが並んでいます。 これらからDやE列にあるように数値のみを取り出すためには DやE列にどのような関数を入れてやればよいのでしょうか。 どなたか教えていただければ幸いです。 よろしくお願いします。

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

専門家に質問してみよう