• 締切済み

Excelの関数です・・

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

みんなの回答

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

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

すると、全ての回答が全文表示されます。
  • A88No8
  • ベストアンサー率52% (836/1606)
回答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