[[20220131125437]] 『数えたいのです』(播磨の爺) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数えたいのです』(播磨の爺)

 お世話さんです。
 以下のような表でところどころに結合されたセルが有ります。
 A列の結合されていないセルの数を知りたいのです。
 因みに、A列は300位あります。 B列はCOUNTで出来たんですが。
 よろしくお願いします。
  
        A          B
 1    10分25秒   8分12秒

 2  5分20秒   16分22秒

 3   2022年1月25日    結合されたセル

 4  14分20秒   5分06秒

 5  3分50秒   6分44秒

 6   2022年月26日     結合されたセル

 7

 8

< 使用 Excel:Excel2003、使用 OS:Windows10 >


 ○分○秒のセルがシリアル値なら、COUNTIFで1未満の数を数えれば良さそうですが…
(コナミ) 2022/01/31(月) 13:21

>B列はCOUNTで出来たんですが。

例示通りなら、A列の結合されていないセルの数は、B列と同じ数になりますが。

(わからん) 2022/01/31(月) 13:30


 コナミさんありがとうございます。
 分秒は無視してください。
 ただの数字と考えて貰っていいです。
 文字の入ってるセルだけを数えたいのです。
 結合されたセルを解除すると左のセルに入ってしまいますから
 その分がカウントされてしまうのです。
 要は、結合されていないセルの文字の入ってるところだけを数えたいのです。
 よろしくお願いします。
 

(播磨の爺) 2022/01/31(月) 13:49


 >分秒は無視してください。
 例題では結合されたセルに日付、結合されていないセルに時間が入っているが実際には何も規則性のない
 値が入力されている、
 ということだろうか?
(ねむねむ) 2022/01/31(月) 13:57

 ちょっとよくわからないのですが
 例示だとどれを数えていくつになったらいいんですか?

 後、サンプルを出すならできるだけ実状に近いものに
 してもらえますか?

(コナミ) 2022/01/31(月) 14:02


 ありがとうございます。 
 A列は6 B列は5となるようにしたいのです。
よろしくお願いします。

       A          B

 1      1025        812

 2      5020       2544

 3   2022年1月25日    結合されたセル

 4   1140     5022

 5   3050      

 6   2022年月26日     結合されたセル

 7     3365        255

 8     588        2749

(播磨の爺) 2022/01/31(月) 14:27


 関数では難しそうなので、
ユーザー定義関数を作ってみました。

 標準モジュールに下記の関数を作成します。

 ---------------
Public Function MyCount(r As Range) As Long
    Dim c As Range
    For Each c In r.Cells
        If c.Value <> "" And Not c.MergeCells Then
            MyCount = MyCount + 1
        End If
    Next
End Function
 ---------------

セルに下記のように式を設定します。

 =MyCount(A1:A8)

(hatena) 2022/01/31(月) 15:25


=COUNT(A1:A8)
=COUNT(B1:B8)

で、
>A列は6 B列は5となるようにしたいのです。
になりましたけど・・・。

尚質問のつじつま合わせのため日付は文字列としました。
質問者がこの辺りきちんと説明しないのでよく解ってないのでは?
(ターコーズ) 2022/01/31(月) 15:53


 いや、多分日付がシリアル値だからCOUNTで数えてしまうので困っているのでは?
 まぁ、COUNTで解決できるならそれに越してことはないですが。

(コナミ) 2022/01/31(月) 15:59


>多分日付がシリアル値だからCOUNTで数えてしまうので困っているのでは?

最初

>B列はCOUNTで出来たんですが。

こう書いてあったけど。

(ターコーズ) 2022/01/31(月) 16:02


ああ、日付だと結合セルの右側はカウントの対象にならないのか?
(ターコーズ) 2022/01/31(月) 16:09

 結合セルではその一番左上のセルにだけ値が入っていてその他のセルは空白となるのでCOUNT関数でB列を
 対象とした場合結合セルを省いたように見えただけだと思うが。
(ねむねむ) 2022/01/31(月) 16:11

結合セルを文字列にするとまたカウント数が変わる。
なぞ。
(ターコーズ) 2022/01/31(月) 16:29

 COUNT関数は数値(日付データも数値)の個数を数えるもの、文字列は対象外。
(ねむねむ) 2022/01/31(月) 16:35

試した結果

結合セルが日付でシリアル値の場合
=COUNT(A1:A8) 8
=COUNT(B1:B8) 5

結合セルが文字列で、2022年1月25日が文字の場合
=COUNT(A1:A8) 6
=COUNT(B1:B8) 5
(ターコーズ) 2022/01/31(月) 16:42


本題は、
>A列の結合されていないセルの数を知りたいのです。
つまり、A列・B列(・結合セル)にあるデータの種類によって
取得方法が変わってくる。
なので、データの種類についてはっきりさせて下さい。
例である通り、日付(シリアル値)のみという認識で良いですか?
(mtm) 2022/01/31(月) 16:46

 mtmさんありがとうございます。
 仰る通り、シリアル値なんです。
(播磨の爺) 2022/01/31(月) 17:24

 もう一度質問するが結合セルには日付が入り、結合していないセルには時間が入るのだろうか?
 それともそういった規則性はないのだろうか?
(ねむねむ) 2022/01/31(月) 17:28

 ねむねむさんありがとうございます。
 結合セルには日付。 結合されてないセルには時間とした場合は
 どのような数式になりますか?
(播磨の爺) 2022/01/31(月) 17:35

 シリアル値は1日を1、1時間を1/24、1分を1/(24*60)とする数値で管理しているので
 (コナミ) 2022/01/31(月) 13:21
 に回答が出ている。
(ねむねむ) 2022/01/31(月) 19:27

 カウント総数8からカウント日付2を引けばいいのでは。
 この例では2022/1/25以降としている。
 A列=COUNT(A1:A8)-COUNTIF(A1:A8,">=2022/1/25")
 B列も同じような式にすればよい。
(nm) 2022/01/31(月) 20:49

 ひょっとして、時刻に見せているだけで実は4桁や3桁の数値とか?
 実際の内容がさっぱりわからない。

 もしそうなら10000未満の条件でCOUNTIFとか?
 もらった回答って逐一試してるんですかね?
(コナミ) 2022/02/01(火) 06:04

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.