advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13159 for 日付 (0.003 sec.)
[[20231104165922]]
#score: 2423
@digest: 1c709616e1647a34cd05a0f911fd1987
@id: 95463
@mdate: 2023-11-06T22:50:00Z
@size: 6944
@type: text/plain
#keywords: 定× (70361), 件日 (56269), 件全 (36843), ) 種 (36204), 〇20 (33066), 付あ (27930), 定〇 (25238), 類e (22852), 類d (16905), (〇 (15788), 類c (14925), 類代 (14010), 類b (13241), myfunc (12325), 類a (11153), 〇0 (10224), 定マ (9951), 〇3 (9331), lambda (8232), byrow (6198), 〇1 (5435), 判定 (5143), 種類 (5017), 〇2 (4992), 〇( (4857), 2023 (4821), 付な (4458), 代表 (4115), る20 (3902), 果2 (3477), unique (2615), 件) (2577)
『種類ごとに入力が完了しているものだけカウント』(キャン)
以下の表があるとして、 A B C 01 種類 代表 日付 02 A 〇 2023/11/4 03 A 2023/11/4 04 A 2023/11/4 05 A 〇 2023/11/4 06 A 2023/11/4 07 A 〇 2023/11/4 08 B 09 B 〇 2023/11/4 10 B 〇 2023/11/4 11 B 〇 2023/11/4 12 C 13 C 〇 14 C 15 D 〇 16 D 〇 2023/11/4 17 E 2023/11/4 18 E 2023/11/4 種類(A列)ごとに、 代表(B列)に〇が付いている行すべてに、 日付(C列)に日付が入っている 種類数を求めたい場合、どのような関数を組めばよいでしょうか? 種類A…判定〇(〇3件全てに日付あり) 種類B…判定〇(〇3件全てに日付あり) 種類C…判定×(〇1件 日付なし) 種類D…判定×(〇2件 1件日付あり 1件日付なし) 種類E…判定×(〇0件) で、結果 2 を出したいです。 なお、D列以降でオートフィルタをかける可能性があるので、 フィルタに対応した関数にしたいです。 宜しくお願い致します。 < 使用 Excel:Microsoft365、使用 OS:Windows10 > ---- 種類A…判定〇(〇3件全てに日付あり) 種類B…判定〇(〇3件全てに日付あり) 種類C…判定×(〇1件 日付なし) 種類D…判定×(〇2件 1件日付あり 1件日付なし) 種類E…判定×(〇0件) が種類が五種類あるのに記号が○か×しかないのをまず区別したほうがいいと思います。 記号でなくとも数字にするか。 (判定マン) 2023/11/04(土) 20:25:36 ---- 失礼。意味がやっぱりわからない。 種類A…判定〇(〇3件全てに日付あり) 種類B…判定〇(〇3件全てに日付あり) 種類C…判定×(〇1件 日付なし) 種類D…判定×(〇2件 1件日付あり 1件日付なし) 種類E…判定×(〇0件) この場合なら結果2を出したいという事ですか? (判定マン) 2023/11/04(土) 20:30:35 ---- こんな? =LET(ft,FILTER(A2:C18,B2:B18="〇"),all,UNIQUE(take(ft,,1)), ext,UNIQUE(FILTER(take(ft,,1),take(ft,,-1)=0,"")),SUM(MAP(all,LAMBDA(a,NOT(OR(ISNUMBER(FIND(a,ext))))))*1)) (まる2021) 2023/11/04(土) 23:11:59 ---- >フィルタに対応した関数にしたいです。 を、見落としてました。ダメだったらスルーで、お願いします。 あと、ついでに、「〇」(U+3007) は漢数字の零ですよ。 普通「マル/バツ」の場合は、「○」(U+25CB) の丸記号を使います。 (まる2021) 2023/11/04(土) 23:36:45 ---- >フィルタに対応した関数にしたいです。 ユーザー定義関数でいいなら↓を定義して 表示したいセルに「=MyFunc(A2:C18)」で、どうでしょう? Function MyFunc&(rng As Range) Dim r As Range, cnt& Dim dic As Object, k Set dic = CreateObject("Scripting.Dictionary") For Each r In rng.Rows If Not r.Hidden Then If r.Cells(1, 2).Value = "〇" Then k = r.Cells(1, 1).Value If dic.Exists(k) Then If IsEmpty(r.Cells(1, 3).Value) Then dic(k) = Empty End If Else If r.Cells(1, 3).Value > 0 Then dic(k) = k Else dic(k) = Empty End If End If End If End If Next For Each k In dic If Not IsEmpty(dic(k)) Then cnt = cnt + 1 Next MyFunc = cnt End Function (まる2021) 2023/11/05(日) 11:42:09 ---- >判定マンさん 伝わり辛い文章で申し訳ありません。 種類A…判定〇(〇3件全てに日付あり) 種類B…判定〇(〇3件全てに日付あり) 種類C…判定×(〇1件 日付なし) 種類D…判定×(〇2件 1件日付あり 1件日付なし) 種類E…判定×(〇0件) の部分は、計算上のものであり、 求めたいのは【2】という結果のみ。という意味です。 (キャン) 2023/11/06(月) 09:41:34 ---- >まる2021さん 「〇」(U+3007)と「○」(U+25CB) の違いについて、 教えて頂きありがとうございます。 今後は「○」(U+25CB) を利用します。 また、ユーザー定義関数での回答ありがとうございます。 複数名で利用するファイルで、 全ユーザーがマクロを有効にするのが難しいので、 今回は、ユーザー定義関数を利用せず実現できたらと考えています。 折角回答を頂いたのに、申し訳ありません。 (キャン) 2023/11/06(月) 09:47:30 ---- 1点、条件面を記載し忘れておりました。 表のセルは全て関数が使われており、 直接入力ではなく、関数の結果の値です。 複雑な関数になることが予想される為、 計算用のセルを設けても構いません。 宜しくお願い致します。 (キャン) 2023/11/06(月) 09:50:26 ---- D列に作業列を作る案です。 答えは[F1]に表示、作業用のリストを[H,I]列で使用しています。 適時、ご自身の環境に合わせて下さい。 これでダメなら、自分にはお手上げです。 __A_ __B_ __C______ __D___ __E __F __G __H __I________ 1 種類 代表 日付 作業列 2 A 3 2 A 〇 2023/11/4 1 B 3 3 A 0 C -1000000000 4 A 0 D -999999999 5 A 〇 2023/11/4 1 E 0 6 A 0 7 A 〇 2023/11/4 1 8 B 0 9 B 〇 2023/11/4 1 10 B 〇 2023/11/4 1 11 B 〇 2023/11/4 1 12 C 0 13 C 〇 -1E+09 14 C 0 15 D 〇 -1E+09 16 D 〇 2023/11/4 1 17 E 2023/11/4 0 18 E 2023/11/4 0 [D2] =IF(B2="〇",IF(C2>0,1,-10^9),0) 下にコピー [F1] =COUNTIF(I1#,">0") [H1] =UNIQUE(A2:A18) [I1] =MAP(H1#,LAMBDA(a,SUM(FILTER(SUBTOTAL(109,INDIRECT("D"&ROW(2:18))),A2:A18=a,0)))) (まる2021) 2023/11/06(月) 11:24:35 ---- >まる2021さん ユーザー定義関数を使わない方法を教えて頂き、 ありがとうございました。 作業列を作る形で、実現出来ました! (キャン) 2023/11/06(月) 17:36:26 ---- こんなのも。 =LET(a,TAKE(A2:A500,XMATCH("?*",A2:A500,2,-1)), ROWS(UNIQUE(FILTER(a,BYROW(a,LAMBDA(r,(OFFSET(r,,1)="〇")*SUBTOTAL(2,OFFSET(r,,2)))))))) とか =LET(a,OFFSET(A2,,,XMATCH("?*",A2:A500,2,-1)), ROWS(UNIQUE(FILTER(a,BYROW(a,LAMBDA(r,(OFFSET(r,,1)="〇")*SUBTOTAL(2,OFFSET(r,,2)))))))) (んなっと) 2023/11/07(火) 07:36:56 ---- 最初の質問で使われていた「 〇 」で回答しています。 結局〇と○どちらかにしたのか不明なので、念のためこんなのも。 =LET(a,TAKE(A2:A500,XMATCH("?*",A2:A500,2,-1)), ROWS(UNIQUE(FILTER(a,BYROW(a,LAMBDA(r,(OFFSET(r,,1)<>"")*SUBTOTAL(2,OFFSET(r,,2)))))))) (んなっと) 2023/11/07(火) 07:50:00 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202311/20231104165922.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional