• 締切済み

Excelの関数です・・

出勤簿からを別表を作成しています。 その表で、名前が入力するセル(A1:A10)の列から 関数のCOUNTA(A1:A10)で合計人数を求めたいのですが、 A1:A10のセルのうちA1:A5には別の表からリンクした数式が入っています。A1:A5まで(リンク元の表は空白になっている場合)空白でも合計人数のセルに「5」となります。リンク元が空白の場合、表の合計人数が「0」になる方法がわかりません・・・分かる方、どうか教えてください。よろしくお願いいたします。

みんなの回答

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.5

--- SOL --- A列は、名前を記入するということで文字列だと思いました。 もしかしてC列というのは、文字列ではないのでは? 長さ0以上の文字列をカウントする式では、文字列以外のものはカウントできません(^^; COUNTA()の出番かな(--;? 融通が利かないものなんです(;_^) --- EOL ---

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.4

--- SOL --- >出勤簿からを別表を作成しています。その表で、名前が入力するセル(A1:A10)の列から関数のCOUNTA(A1:A10)で合計人数を求めたい >A1:A10のセルのうちA1:A5には別の表からリンクした数式が入っています。 >リンク元が空白の場合、表の合計人数が「0」になる方法がわかりません  「リンクした数式」とは、「=Sheet1!A10」というような参照をしているということですよね。  この場合、参照先がデータを入力していない初期状態(便宜上、空欄とします)ならば、数値 0 が表示されますよね。 その場合なら、ANo.2 のご提案で実現できますよね。 >A1:A5まで(リンク元の表は空白になっている場合)空白でも合計人数のセルに「5」となります。  COUNTA()関数は、対象範囲のデータを入力していない初期状態(空欄)を除いてカウントする関数とのことなので、式を入れた瞬間に空欄が数値 O になってカウント対象になってしまいます。 また式に "" を指示したとしても長さ0の文字列を指定したことになるため空欄にならずカウントされます(;_;) >合計人数を(A1:A10)と、列違いで(C1:C10)との合計を出したい  別々に計数して合計を出したらどうでしょう? =COUNTIF(A1:A10,"*") + COUNTIF(C1:C10, "*") 蛇足:  セル参照で「0」が表示されると表の美しさがイマイチと思うとき、式で「""」(長さ 0 の文字列)を指定する方法がありますよね。 その時の計数は、発想をかえて長さ 0 の文字列以上の長さの文字列があったらカウントとするといかがでしょう。  =COUNTIF(A1:A10, ">""""") --- EOL ---

mmmmm821
質問者

補足

ご回答ありがとうございます。 COUNTA()関数・・”式を入れた瞬間に空欄が数値 O になってカウント対象になってしまう”のですね;すごく参考になりました。 それから、蛇足にある  =COUNTIF(A1:A10, ">""""")で、一つの列だけの合計はできたのですが、列違いで合計を出すのは不可能でしょうか? =COUNTIF(A1:A10, ">""""")+COUNTIF(C1:C10, ">""""")で試した結果合計されませんでした・・方法があれば教えていただけませんか。 よろしくお願いいたします。

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

次の方法は如何でしょうか。 =SUMPRODUCT((LEN(A1:A10)>0)*1)

mmmmm821
質問者

補足

早々のご回答ありがとうございます。 試した結果(リンク元を空白にして)、作成中の表の「名前の列」は空白なのに、やはり合計人数「5」となります。 リンク設定したA1:A5のうちA5の数式(リンク設定)を削除すれば、合計人数「4」になるので、空白でも数式をカウントしてしまうのでしょうか・・

回答No.2

=COUNTIF(A1:A10,"*") でどうでしょうか。

mmmmm821
質問者

補足

早々のご回答で、できました。 ありがとうございます。 ・・ところが、 *質問のなかで不足がありました。 合計人数を(A1:A10)と、列違いで(C1:C10)との合計を出したいのですが・・方法が見つかりません; よろしくお願いいたします。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

元データに 0 がないならば =COUNTIF(A:A,"<>0") とかで リンクの式を =IF(リンクの式="","",リンクの式) にしておいて方が間違いないかと。

mmmmm821
質問者

補足

早々のご回答ありがとうございます。 試した結果(リンク元を空白にして)、作成中の表(リンクの式をIF関数の式に)の「名前の列」は空白なのに、やはり合計人数「0」になりません。 *質問のなかで不足がありました。 リンク元の名前のセルには、入力規則で名前のリストがあります。 それから、合計人数を(A1:A10)と、列違いで(C1:C10)との合計を出したいのですが・・ よろしくお願いいたします。

関連するQ&A

  • エクセルでの数をかぞえる関数

    EXEL2003を使用しております。 関数の質問です。 A列に、空白セルと「イベント」「インバウンド」「アウトバウンド」と入力されたセルがランダムに並んでいます。 この中で、 1、「イベント」と入力されてあるセルの合計数。 2、「イベント」「インバウンド」のいずれかが入力されてあるセルの合計数。 を知りたいのですが、どういう関数を使えばよいのでしょうか? COUNT,COUNTAを試してみたのですが、うまくゆきませんでした。 文字が合致した場合だけカウントするという関数があれば教えてください。 よろしくお願いします。

  • COUNTBLANK関数について

    A1からA16まで数式が入っています。 ただし数式の結果によっては、空欄になっているセルがあります。 COUNTA関数を使ってA1からA16までのデーターが入っている個数を調べた場合、空白のセルにも数式が入っているためカウントされますよね。 では、COUNTBLANK関数を使ってA1からA16までの空白の個数を調べた場合どうなりますか? 実際には空白のセルにも式が入っているのだから、0にならないとおかしくないですか? 実際の結果は空白の個数をちゃんとカウントできます。 なぜでしょうか? 矛盾していると思うのですが・・・

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • エクセルCOUNT関数について

    こんばんは、COUNT関数についてお伺いします。 たとえばA列に関数(SUMなど)の数式が入っています。そのA列を範囲指定してCOUNT関数をしたところ、数値が現れているセルのみをカウントしたいのですが、空白の数式が入っているセルもカウントしてしまいます。数値を示しているセルのみをカウントしたいのですが、うまく行きません。 どうすれば解決できますか、教えていただけないでしょうか。

  • エクセルの関数について

    エクセルの関数について質問します。 =counta(a5:a13)の場合 a5の列から,a13の列まで,9列のカウントをします。 これを,次のようにしたいです。 すでに,セル番地D1には「9」の値が入っています。 =counta(a5:????D1)として a5の列を含めて,9列までをカウントしたいです。 よろしくお願いします。

  • COUNTA関数について

    COUNTA関数について 空白ではないセルの値をカウントしたいのですが 対象のセルに数式があり数式もカウントされ困っています。 これはIF関数などで解決できるのでしょうか? 他に方法はありますか?

  • 「SUMIF」と「AND」関数の組み合わせについて

    2つの表があり、A列の日付が同じでなおかつ表2のB列に「9」が入っているC列の合計数を表1のBに反映し、合計数が「0」なら""空白にしたい場合の関数の組み合わせを教えてください。日付が同じだけなら「SUMIF」と「IF」関数でできたのですが、なおかつ「9」が入っているセルの合計となると上手く反映されません。「AND」関数の使い方が悪いと思うのですが、どうかよろしくお願いいたします。

  • エクセルで挿入した列に関数が値を返しません。

     エクセルで列を挿入したセルに、関数を入力しても値を返しません。 関数を入力しても、数式バーに表示される数式がセルに表示されるだけで、答えは出ません。式はあっていて、違うセルに数式をコピーして張り付けると、値を返します。  また、挿入した列に元からある空白の列をコピーして貼り付け、関数を入力しても値を返します。  どこかで変な設定をしてしまったのでしょうか?  分かる方、どうか教えてください。

  • エクセルでカウントする関数

    質問させてください やりたいことは 例えば数式 =IF(***>**,E5,"") が1行~10行にコピーしてあり 論理式に適合したものは参照セル値を返します 適合しないものは空白です さて 適合したものを数えてみようと思ったのですfが COUNT関数 COUNTA関数などやりましたが 数式のあるものも数えてしまい よって全部の行がカウントされていまいました 教えてください よろしくお願いいたします

  • エクセルの関数について教えてください

    ABCの3列の表があり、C列に合計を入れる。 どちらか空白でも合計がでるようにC列に 関数を入れたいのです。 よろしくお願いします。

専門家に質問してみよう