• ベストアンサー

CONCATENATE関数の表示書式の変更

「2」「6」「2.0」の三つのセルをCONCATENATEすると「262」となりますが、これを「262.0」とそのまま表示させることは可能でしょうか?

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

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

提示のデータを文字列として連結すれば目的通りになります。 =CONCATENATE(G1,G2,G3)

その他の回答 (5)

回答No.6

>文字列の数とは、「262.0」は3個、「151.5」は5個といった検索条件に一致するセルの個数という意味です。 セルの個数を数えるのに小数点第 1 位までが必要という理由が、まだよく分かりません。 次式のどれかは、質問者さんのお役に立つのでしょうか? A2~A5 2 B2~B5 6 C2~C5 2 D5   . E5   0 F1   262 F2   =a2&b2&c2 F3   =0+(a3&b3&c3) F4   =a4&b4&c4&".0" F5   =a5&b5&c5&d5&e5 H5~H9 2 I5~I9 6 J5~J9 2 K9   . L9   0 M4   262 M5   =h5&i5&j5 M6   =h6&i6&j6 M7   =0+(h7&i7&j7) M8   =h8&i8&j8&".0" M9   =h9&i9&j9&k9&l9 N1   =countif(f:f,262) N2   =countif(f:f,"262") N3   =countif(f:f,"262.0") N4   =countif(f:f,h4&i4&j4) N5   =countif(f:f,h5&i5&j5&".0") N6   =countif(f:f,h6&i6&j6&k6&l6) N7   =countif(f:f,m7) N8   =countif(f:f,m8) N9   =countif(f:f,m9&".0") N10   =countif(f:f,m10) N11   =countif(f:f,m11) N12   =countif(f:f,m12) なおセルに記入されている「262」という数値を表示(見かけ)だけ「262.0」と見せることは、セルの書式設定により可能です。逆の言い方をすれば、セルに「262」と記入しても「262.0」と記入しても、Excel は同じ値に変換するので、両者は区別されません。書式によって見かけが変わるだけです。

回答No.5

>データ数が多いので、自動的に結合したいです。 その処理を行う数式は、No.4 にて回答済みです。「.0」という末尾も必要なのであれば、「&".0"」を追記してください。 >同じ文字列ばかりがあるわけではないのです。 >これは桁合わせのためです。ですから文字列の数を計算できる関数ならなんでも構いません。 ひょっとすると、質問者さんが「文字列の数」とおっしゃっているのは、「文字数」のことですか? COUNTIF 関数は、セルの個数を数える関数です。特定の文字列が記入されているセルとか特定の数値のセルとか、文字列か数値かは問わないが一定の条件を満たすセルとか、そういったセルの個数を数えるだけです。そのため 2 文字以上のデータ割合が不明な場合では、COUNTIF によって範囲内の全体の文字数を求めることはできません。 各セルの文字列全体をそれぞれ 1 つと数えるのではなく、セルに記入されている文字の数を求める関数としては、LEN 関数というのが用意されています。例えば必ず「.0」という 2 文字分を加えて勘定すべきだと言える場合は、A1:C1 という範囲内の文字の総数は、次式で計算できます。 =len(a1)+len(b1)+len(c1)+2 あるいは =sumproduct(len(a1:c1))+2

KIKAIDER01
質問者

補足

文字列の数とは、「262.0」は3個、「151.5」は5個といった検索条件に一致するセルの個数という意味です。

回答No.4

No.3 さんもおっしゃっていますが、文字列をつなごうとする目的は何ですか? 現在どこにどんなデータが配置されていて、それを使って何をしたいのか(目的)によって、「最適な」つなげる手法は変わってくるはずだという話です。 「262.0」という文字列が得られればよいだけなら、例えばユーザーの目視により、キーボードで「262.0」とどこかのセルにタイプ・記入するというのも、その一つの方法になりますね。そうではなくて「262」であれば、逆に回答者は目的を知らなくても、「=a1&b1&c1」といった感じの数式でとりあえず得られますね。 >COUNTIFで個数を数えたいだけなので、文字列でも問題はないです。 本当にそれだけが目的だとすれば、文字列をつながなくても、既存データの行数などを数えれば済むということですか?行数であれば、例えば ROWS 関数によって数えることができます。既存データを数えるわけなので、つなぐ操作はきっと不要となります。 また、「.0」という末尾の有無によって COUNTIF による計算結果が変わるという状況が、よく分かりません。もしも変わるのであれば、それはなぜなのか、補足をお願いいたします。 COUNT や COUNTA ではなく、COUNTIF を用いるのですかね。

KIKAIDER01
質問者

補足

>「262.0」という文字列が得られればよいだけなら、例えばユーザーの目視により、キーボードで「262.0」とどこかのセルにタイプ・記入するというのも、その一つの方法になりますね。 データ数が多いので、自動的に結合したいです。 >本当にそれだけが目的だとすれば、文字列をつながなくても、既存データの行数などを数えれば済むということですか? 同じ文字列ばかりがあるわけではないのです。 >また、「.0」という末尾の有無によって COUNTIF による計算結果が変わるという状況が、よく分かりません。 これは桁合わせのためです。ですから文字列の数を計算できる関数ならなんでも構いません。

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

どのような目的で、文字列を結合したいのでしょうか? デフォルトの設定では、セルに「2.0」と入力しても「2」として認識されますので、文字列を結合してもご希望の表示はできません。 簡便に対応するなら、セルの書式設定で表示形式を「文字列」に設定しておけば「2.0」と入力すると通常の文字列として認識させることができます。 #目的によって最も合理的な関数や操作法が異なりますので、具体的にどのような目的でそのような文字列結合がしたいのか(文字列を結合しても数値ではないので注意が必要)補足説明されるとよいと思います。

KIKAIDER01
質問者

補足

COUNTIFで個数を数えたいだけなので、文字列でも問題はないです。

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

CONCATENATEでつなげると文字列になりますからね・・・ =CONCATENATE(選択セル)*1 にして、表示形式で小数点1位まで表示させては?

関連するQ&A