COCATENATE関数について

このQ&Aのポイント
  • ExcelのCOCATENATE関数は、複数のセルの内容を結合するための関数です。
  • しかし、COCATENATE関数が整数値を正しく表示できない場合があります。
  • 桁数が多い数値に対しては使用できないことがあり、基本(標準)でのデータが呼び出されます。
回答を見る
  • ベストアンサー

COCATENATE という関数について

Excelで A1から行方向へ1から6を入力します これをB列、 C列にコピーします これらについて列ごとに平均を求めます A7=3.5, B7=3.5 ,C7=3.5 が表示されます B7 についてはユーザー定義で”0”を設定します  C7については小数点以下なしに設定します するとB7は4、C7も4となります そこで 別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか? 整数値表示ができません 4 の表示が出ないのです、桁数が多くい数値に対して使えないようなので気になります。 基本(標準)でのデーターが呼び出されてしまいます よろしくお願いいたします。

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

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

いろいろなExcelの性質があり、それがあなたを混乱させているようです。 >C7については小数点以下なしに設定します するとB7は4、C7も4となります この書式設定で、『表示上は』整数になります。 しかし書式というのは、見た目だけを成型するものなのです。 書式でいくら表示を変えようとも、B7,C7セル自体には、3.5という値が入っており、これが変わったわけではありません。 >別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか? CONCATENATE 関数は、セルの値を文字列として結合する関数になります。 それが数値だった場合、書式のない状態での表示形態を文字列にします。 そうすると、B7,C7には(見た目がどうであろうと)「3.5」という数値が入っていますから、"3.5"という文字列になり、結合されます。 ---- セルの値を本当に整数にしたければ、それは ROUND関数(四捨五入) を使って、計算した値が 4 そのものになるようにすべきなのです。 C7に入れた式全体を、さらにROUND関数で囲ってみてください。 C7=AVERAGE(C1:C6) ↓ C7=ROUND(AVERAGE(C1:C6),0) 書式なしに値が4になれば、CONCATENATE によって結合した時も 4 という数が表示されます。

その他の回答 (3)

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

「COCATENATE という関数」(正しくはCONCATENATE という関数)を持ち出す前に、(掲示例の場合にでも)「どういう結果になってほしい」のか、しっかり質問に書くべきでしょう。初心者が思いついた方法を前提にして、うまく行かないという質問をするのは稚拙だと思う。 データ例があって、そのデータを用いて「どういう結果になってほしい」が前提にあって、識者の数通りの回答がでるだろうから、それを勉強する謙虚さが欲しい。自分の思い付きを通すな。 それにCONCATENATEという難しい名前の関数を使わずとも、「&」で結合すれば、代用でできるのでは。LOTUS123との互換のためにエクセルに取り入れた関数と思う。

kingkid08
質問者

お礼

ありがとうございます、参考にします。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>そこで 別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか? 表示形式で小数を含む値(3.5など)を整数で表示させると四捨五入した値で表示されますが実際の値は四捨五入する前の値です。 CONCATENATE関数で数値を連結すると文字列になりますが対象の数値は表示形式とは関係なく実際の四捨五入しない値を文字列にしていますので提示のA7、B7、C7の値は3.5が正しい値です。 >整数値表示ができません 4 の表示が出ないのです、桁数が多くい数値に対して使えないようなので気になります。 7行目の計算結果(平均値)の小数を丸めたいときはAVERAGE関数の外側にROUND関数を被せると良いでしょう。 A7=ROUND(AVERAGE(A1:A6),0)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.1

此の関数は、文字列結合関数で、 返される値は、文字列です。 文字なので、 数値の、書式には 関係なくなります、 数値の、書式に 指定した、内容に 関わらなくなります。

関連するQ&A

  • 関数CONCATENATEの表示で

    =CONCATENATE(A1,B1,C1,D1,E1)という式を作りました。 A1=0.10 B1=× C1=0.30 D1=× E1=0.50 上記の数値が入力されているので、 0.1×0.3×0.5 と表示されます。 確かに数値としては、0.1,0.3,0.5なのですが、この数値を少数第2位(0.10×0.30×0.50)まで表示させることはできないでしょうか? 入力するセルを「文字列」に設定して、0.10と打ち込めば少数第2位まで出せるのは知っているのですが、入力時に「.1」「.3」「.5」と入力していきたいのです。 これは無理でしょうか?

  • excel関数教えてください。

    表にしてあって、A列には任意の数字がはいるようなってます。関数はB、C、D列に使いたいのですが B列:Aを3で割り小数点以下に.666が出たときには整数に2を足して、.333の場合は整数に1を足して表示したい。 C列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り捨てたい D列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り上げたい 例としては   A   B   C   D 1 10,000 33,334 33,333  33,333 2 20,000 66,668 66,666  66,666 上のような表です。Aに入る数値はいろんな 数値があります。関数に該当しないものは 3で割った数字をそのまま表示したいです。 宜しくお願いします。

  • エクセル関数。RAND。乱数の出し方。

    今日会社で聞かれました。 乱数の整数を出したいのですが、 この=RANDBETWEEN(a,b)( aとbは任意の整数を入れてました。) だと、少数ででてきてしまって、整数だけの乱数でないために、数値で、桁数を0にして表示させると 同じ整数がでてくることになってしまうのです。 整数だけの、乱数を出す方法はないでしょうか????切実に急いでます。誰か助けてください!!

  • 「少数がない場合は整数のみ、少数がある時は、第一

    A1に100 A2に10.5 A3に12.34 と入力しました。 「少数がない場合は、整数のみ、 少数がある時は、第一位まで」と設定したいのですがどうすればいいでしょう? 理想としては、 A1に100 A2に10.5 A3に12.3 とさせたいです。 A列を選択して、セルの書式設定→表示形式→数値で、 「桁区切りを使用する」にチェックを入れると A1に100 A2に11 A3に12 になってしまいますし、 A列を選択して、セルの書式設定→表示形式→数値で、 「桁区切りを使用する」にチェックを入れて 小数点以下の桁数を1にすると、 A1に100.0 A2に10.5 A3に12.3 と今度は、小数点がないA1まで小数点が付いてしまいます。 セルの書式設定→表示形式でユーザー定義を選択し、種類に「#,##0.#」といれましたが A1に100. A2に10.5 A3に12.3 と、整数に点だけついてしまいます。 関数を使うしかないのでしょうか?それもどうやればいいのかわかりません。 今はA3まで入れていますが、実際はたくさんの行まで入れてるし、何行目まで行くのかわかりません。 ご教授よろしくお願いします。

  • エクセルで桁数を指定して、他のセルの内容と並べて表示させるには?

    ちょっとややこしいのですが、あるセル(A1)に桁数の決まった整数の数値を入れます。(たとえば「12」を「0012」と入れる) このときセルの書式設定で「ユーザー定義」→「0000」と入れればこのように表示されることは分かったのですが、別のセル(A2)にたとえば「abc」と入力し、さらに別のセル(A3)に「abc0012」と表示させたいのでA3に"=concatenate(A2,A1)"と入力すると桁数が無視され「abc12」と表示されてしまいます。 これを「abc0012」と表示させるにはどうしたらいいでしょうか。 ちなみにA3にはさらに違うセルもconcatenateさせてるので、単純にセルの書式設定を変えることはできません。

  • EXCEL 小数点以下の表示桁数

    下記のような表があります   A   B    C  数値1 数値2 MAX(A:B)  0.20  0.98  0.20  0.38  1.7   1.7 というように、A,Bの値を比較して大きいほうをC列に表示させるのですが、小数以下の桁数をA,Bと同じにしたいのです。 小数第2位が「0」なら0、表示が1位までなら1位という感じです。 条件によって桁数を変化させることは出来るのでしょうか。

  • Excel 2000 四捨五入について教えて下さい

    セルの書式設定で 表示形式        通貨 小数点以下の桁数    0 としてます。 そうすると、四捨五入されてしまうのですが、止める方法はありますか。 やりたいこと・・・・・・  A列         B列 整数部       小数点以下 A列に小数混じりの数字を記入するとB列に少数以下の文字を返す。 A列は整数部のみを表示する。 A列に25.5を記述すると A | B 25 | 5 B列関数  =IF(A6="","",IF((A6-INT(A6))*10=0,"",(A6-INT(A6))*10)) A列には関数は入れてません。 すみません。宜しくお願いします。 ついでに・・・・・ 623,154,241.5 上の値を桁区切りでセル別に表示させることは可能でしょうか?? A | B | C | D | 623 | 154 | 241 | 5 | の様にさせたい。 無理なら良いです。 なるべくVBAを使用したくありません。 最悪は使用してみようと思いますが。 宜しくお願いします。

  • エクセル関数?教えてください。これはどうすればできますか?未熟者です

    A列÷B列の答えの数値を削除と四捨五入し、プラス表示とマイナス表示をしたい。 答えは2パターンになります。 (1)A列÷B列の答え1.091763・・・などとなります。それを小数点一位以上(1.9)を削除し小数点五位(6)を四捨五入して数値で表したいのです。 そして出た答え、小数点以上が(1.)の場合プラス表示とし918で完成させたい。 (2)A列÷B列の答え0.991763・・・などとなります。それを小数点一位以上(0.9)を削除し小数点五位(6)を四捨五入して数値で表したいのです。 そして出た答え、小数点以下(0.)の場合はマイナス表示としと-918で完成です。 うまく説明できませんが、よろしくお願いします。

  • エクセルの「&」について

    例えば A1に「3.0」と入力します。 B1に「5.00」と入力します。 (A1,B1は書式設定で「数値」「小数点の桁数を1及び2」 に設定しています) そこで C1に「=A1&"×"&B1」と入力します。 するとC1には「3×5」と表示されるのですが これをA1、B1の表示どおり「3.0×5.00」と表示 させたいのですが、出来るでしょうか? 宜しくお願い致します。

  • Excel関数で数値のみ取り出したい

    Excelの関数について教えてください。 A列には単位付の数値が入っています。数値の桁数は決まっていませんが、3桁区切り、小数も含まれて居ます。単位はkm2とか、m3、L、Kw、gとかの3文字以内です。 この列から、B列に「数値のみ取り出したい」場合の関数式を教えてください。

専門家に質問してみよう