ギリギリ行けるお一人様のライン

A列 A1セルからA10セル 
B列 B1セルからB8セル
C列 C1セルからC5セル

各々のセルに某作業の活動日が入っています(作業日の重複、空欄の場合もあり)。延べ作業日(重複日を1日とカウントする)を出したいのですが、関数で可能でしょうか

A 回答 (2件)

No1です



>複数列となるとさっぱりで頭を抱えています
あぁ・・
各列でそれぞれ結果を求めるのではなく、ご提示の範囲をまとめて同じ処理をしたいという事なのでしょうか?(各列で行数も異なるようですが・・)

もしそうであるなら、セル範囲をまとめてから、同じ処理を行えばよいです。
例えば、
 =COUNTA(UNIQUE(VSTACK(A1:A10,B1:B8,C1:C5)))
のような要領ですね。

範囲に空白セルが含まれている可能性がある場合には、上記の範囲にわざと空白セルを含ませておいて、1を引くようにしておけば良いでしょう。

仮に、B9セルが常に空白であることが保証されているのなら、
B1:B8 の部分を B1:B9 としておくことで、必ず空白セル分がカウントされることになりますので、結果から1を減算すれば良いという考え方です。
(このようにしておけば、全セルが空白の場合にも「0」と意図通りのカウントができるようにもなります)
    • good
    • 1
この回答へのお礼

できました!VSTACKという関数があるのですね。初めて知りました。実戦で活用できます。本当にありがとうございました。

お礼日時:2024/08/08 20:22

こんばんは



よくわかりませんけれど、日にちが入力されていれば1日とカウントしてよいものと解釈しました。
重複を省いて、何日分(=何種類)の入力があるかを数えたいってことですよね?

365等の環境であれば、UNIQUE関数が使えますのでこれを利用することで重複を省けます。
 UNiQUE(A1:A10)
といった要領です。
あとは COUNTAで数を数えればご希望の結果が得られます。

空白セルが含まれている可能性がある場合は、空白セルも1カウントとされてしまうので、FILTER関数を利用して空白セルを取り除いておくなどの工夫が必要です。
上記でも、セル範囲全部が空白の場合には1カウントになると思いますので、そのようなケースにも対応できるようにしたい場合は、IF関数等で判別を行うのが良いかもしれません。
セル値が日付かどうかのチェックは考慮していませんので、それもチェックしたければ、チェックも追加する必要があります。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
1列ですと回答が得られるました。複数列となるとさっぱりで頭を抱えています。

お礼日時:2024/08/08 05:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A