• 締切済み

EXcelで数値と文字が混合するセルを集計する関数

勤務表を作っています。1日休暇を“N”、半日休暇を“N/2”と数値と文字列で表示した場合、休暇の合計セルに“1.5N”または“1・1/2”N(仮分数)と数値と文字列で集計し表示したいのですが、どの関数を使うのかわかりません。よろしくお願いします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 回答番号ANo.1です。 >ただ&"N"の意味がわかりません  「&」は文字列を結合して、一繋がりの文字列とするための記号です。  例えば、Excelのセルに =5*4+3&"あいうえお" と入力しますと、「5*4+3」の計算結果である「23」の後ろに、" "内の文字列である「あいうえお」という文字列を繋いだ 23あいうえお という表示となります。  ですから、ANo.1の数式は、 COUNTIF($A$2:$A$32,"N") の部分で「N」と入力されているセルの個数をカウントし、 COUNTIF($A$2:$A$32,"N/2")/2 の部分で「N/2」と入力されているセルの個数をカウントした結果を、2で割り(「N/2」と入力されているセルの1個ごとが、それぞれ1/2日に相当するため)、  その2つのカウントした数を、足し合わせた数の後ろに、「N」の文字を付け加えた文字列を表示させる関数となっています。  文字列にしてしまいますと、数値ではなくなりますから、そのデータを使って計算処理をする際に面倒になるため、一般的には、休暇の合計日数を取り扱う際には、日数を単なる整数値として取り扱い、「後ろに"N"を付け加えて文字列に変換する」という様な事は行わない事が普通なのですが、御質問文中に >合計セルに“1.5N”または“1・1/2”N(仮分数)と数値と文字列で集計し とありましたので、単なる休暇日数を合計した数を表示させるのではなく、必ず「合計日数にアルファベットの『N』の字を後ろに着けた文字列」を表示させなければならないものと理解したため、あえて「N」を付ける様にしたのですが、質問者様の御要望は違うのでしょうか。

okweb58
質問者

お礼

丁重なる再回答をいただきありがとうございます。 貴方のおっしゃる通り、休暇当日セルおよび合計セルに数値と文字列を入力していました。N/4の場合は4で除算して&で“N”をつけ加えればよいのですね。私の要望をご理解いただき貴重な時間をさいて、解説されたことに感謝いたします。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

>教示の通り入力しましたが”#VALUE”と表示されます >私の入力方法が間違っているかも知れません。 えぇ,間違っています。 エラーになったので,それで諦めたのですか?回答通りできているか,打ち間違いが無いか,見直したりはしなかったのでしょうか。 回答からコピーして数式バーの中に貼り付けてみると,打ち間違いとかしないでちゃんとできますよ。 もちろん,あなたのエクセルで「N」や「N/2」を記入している具体的なセル番地を計算する数式に,ちゃんと直してやらないといけないのは当然ですが。 >意味が分かりません 上手くできるための魔法の言葉でいいですよ。 別にそんなに重要な内容ではありません。 意味は, 計算結果が1であれば数字を表示せず「N」と表示し, 計算結果が1.5や2や2.5であれば,「1.5N」とか「2N」とか表示する ということをさせるための設定です。 それとも詳しく知らないとまるで先へ進められないのでしたら,下記などを参考にしてください。 http://support.microsoft.com/kb/883199/ja たとえば「G/標準」は標準の書式記号です,などの説明が詳しく載っています。 標準の書式とは,1.5なら1.5,2なら2と,そのままの数字で表示してくれる設定のことです。

okweb58
質問者

お礼

再度の回答・教示ありがとうございます。 回答画面からコピーできるとは知りませんでした。 すべてキー入力していました。 コピーして貼り付け範囲変更で集計できました。 support.microsoftも初めて見ました。 今までは解説本ばかりでした。 今後のPC操作が変わると思います。 貴重な教示ありがとうございました。

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

一例です。 休暇列をA列としています。 =COUNTIF(A:A,"N")+COUNTIF(A:A,"N/2")/2としてセルの表示形式をG/標準"N"として下さい。

okweb58
質問者

お礼

早速の回答ありがとうございます。 教示通りの入力で集計できました。 ただ”G/標準”の意味がわかりません

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

=IF(COUNTIF(B2:B32,"N*"),TEXT(COUNTIF(B2:B32,"N")+COUNTIF(B2:B32,"N/2")/2,"[=1]"""";G/標準")&"N","") といった具合でしょうか。 #「1N」となったときに「N」とだけ表示する仕込みをしています。 全角文字の「N」と半角アルファベットの「N」を間違えないように計算してください。

okweb58
質問者

お礼

早速の回答ありがとうございます。 教示の通り入力しましたが”#VALUE”と表示されます 私の入力方法が間違っているかも知れません。 "[=1]"""";G/標準”)&"N","")の意味がわかりません。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 その勤務表の休暇を入力するセルが、どのセルから始まって、どのセルまで続いているのかが不明なため、今仮に、休暇を入力する欄がA2セル~A32セルの範囲であるものとします。  その場合、休暇の合計数を求める関数は、次の様なものとなります。 =(COUNTIF($A$2:$A$32,"N")+COUNTIF($A$2:$A$32,"N/2")/2)&"N"

okweb58
質問者

お礼

早速の回答ありがとうございます。 教示通りの入力で集計できました。 ただ&"N"の意味がわかりません

関連するQ&A

  • エクセルの集計

    エクセルの集計 文字列ごとの数値が羅列された表を同じ文字列に整理し各文字列の数値を集計された表にする方法(関数)を教えてください

  • エクセルで6行おきのセルを集計する方法

    エクセルで6行おきにセルを集計する方法を調べています。 文字列と数値が混在する場合の集計方法が分からなかったので質問しました。 勤怠票の合計を出すのに使用するのですが、定時8時間勤務の場合は○、深夜八時間勤務の場合は◎、定時勤務で8時間に満たない場合は数値を入力しています。各セルには○か◎か数値のどれかが入ります。 ○と◎は8時間としてカウントします。 例えばA1セル=○、A7セル=◎、A13セル=6の入力の場合、合計に22が集計されるようにしたいです。 皆様のお知恵をお貸しください。 宜しくお願いします。

  • Excel フィルタした値をセルに表示する関数

    図のような表をつくり、表にはテーブル書式を設定しています。 B列で社名でフィルターをかけると、C列、D列の数値の集計は、SUBTOTAL関数(109)で行っており、フィルターをかけた最終行にその集計数値が表示されます(下部画像のようになる)。 ついでに、B列の最終行に、フィルターをかけた値(ここでは文字列の"あいう会社")を表示させたいのですが、どの関数を使えばよいのかわかりません。 フィルターに使った文字列を抽出する関数、 あるいはフィルタした値は常にB列の上から2行目にくるので、 これを参照してB列の最終行のセルに表示させる方法 はあるでしょうか?

  • 関数によって空白したのを数値「0」に置き換える

    A.............B...............C 1 ZZ............6..............× 2 AA........... 1 3 BB 4 CC............3 B列にはそれぞれ関数が入っています。 セルB1には、B2、B3、B4の数値の合計です。 C1のセルには、C1数値とB2、B3、B4の数値の合計が一致しているか否かの判定する関数が 入っており、一致していなければ、"×"が表示させるようにしています。 しかし、ここで問題が起きました。 「VALUE」というエラーが表示されました。 上記の表では、セルB3は、空白になっております。 本来は、セルが空白になっている場合は、「0」が格納されていると思うのですが、 ここには、関数によって、文字列?の「空白」に置き換えられています。 例えば = IF((Z5) ,5, "") ようにです。 多分、関数によって文字列として認識される空白("")を置いたためと思います。 関数によって置き換えた空白("")を数値「0」として認識できる関数を教えてください。 いろいろな方法があると思いますが、「関数」のみで教えてください。 C1には、以下の関数が入っています。 =IF((B1) = (B2+B3+B4) ,"○","×")

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

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

  • Excelの数値を文字列にするにはどうしたらいいですか?

    セルの[表示形式]→[ユーザー定義]を利用して #/12 と設定して分数を表示しているセルがあります。 例えば 8/12 という表示になっていても、中身は計算式ですから、数値としては 0.666666・・・ となっている訳です。 これを、表示通りの文字列 8/12 または大文字で 8/12 と変換する方法はありませんか? ぜひ教えてください。 よろしくお願いします。

  • 文字列と数字を含むセルから数値のみをとりだす関数と、文字列のみを取り出す関数があれば両方教えてください!

    (Excel 2003 ) 文字列と数字を含むセルから数値のみをとりだす関数と、文字列のみを取り出す関数があれば両方教えてください!

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

  • エクセル2003 #N/A含む複数シート数値合計

    複数のワークシートの数値の合計がうまく出ません。 A,B,C,Dという名前のシートのセルA2の数値の合計を 「集計」というシートのセルA3に出したいのですが (ちなみにA,B,C,DシートのセルA2にはvlookup関数がはいってます) 例えばシートBのセルA2の表示が#N/Aだと sum、sumif関数で合計を出そうとしても 「集計」シートのセルA3には#valueと出てしまいます。 うまく#N/Aをのぞいて数値の合計値を出す方法はありますか?

  • EXCEL関数 数値セルが何個下に出てくるか?

    EXCEL関数で質問です。 A1:A5セルそれぞれに、文字列、空白、数値のいずれかが入っています。 そのうち数値のセルが最初に出てくるのは上から何番目か、というのを B1セルに関数で表示したいのです。 たとえば、A列上から、 あ、A、100、100、0 なら3、 愛、(空白)、百、8、ZZZ なら4 という具合です。 お知恵をお貸しください!

専門家に質問してみよう