[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フラグの立て方』(hiyoko)
A B 1 2 2 2 フラグ 3 5 4 5 フラグ 5 1 6 1 7 1 8 1 ・ ・ ・ A列に1〜5の数値がランダムに並んでいます。 この列で、1→2、3→5etc..のように数値が切り替わる行でフラグを立てたいです。 そしてそのフラグの個数を数えたいです。 皆様のお知恵を拝借したく、御願いいたします。
(可能ならば、1→5や5→3の切り替わりが何個あるか、ということもカウントしたいです。)
B2: =IF(A2=A3,0,1) 下にコピー。 B1: =SUM(B2:B65536)
>1→5や5→3の切り替わりが何個あるか、ということもカウントしたいです。 私はギブアップです。 ((dai)
B列に組み合わせの数字を配置し、C1に下のようにしますと、件数が表示できると思います。 A1:A100まで、100件が隙間なく配置しているものとしています。 (LOOKUP)
A B C 1 5 12 3 2 1 13 2 3 4 14 5 4 3 15 6 5 4 23 5 6 1 24 1 7 1 25 3 8 4 34 8 9 3 35 6 10 1 45 3 11 2 54 3 12 3 53 5 13 5 52 4 14 3 51 7 15 2 43 10 16 3 42 1 17 4 41 3 18 3 32 4 19 1 31 4 20 4 21 2 21 1 ↑ 22 1 =SUMPRODUCT(COUNTIF(B1,A$1:A$99&A$2:A$100)) 23 5 24 5 25 1
マクロで作ってみました。(夕焼) フラグは" 1 "で立てました。
Sub test()
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
If Cells(i, 1) <> Cells(i - 1, 1) Then Cells(i - 1, 2) = 1 End If Next
lastrow2 = Cells(Rows.Count, 2).End(xlUp).Row For i = 1 To lastrow2 If Cells(i, 2) = 1 Then N = N + 1 End If Next
MsgBox "フラグ数は " & N
End Sub
まず、回答は、すべてご確認ください。 (LOOKUP)
解決済みですがw マクロだとこんな感じでどうでしょう? (ROUGE) '---- Sub Chick() Dim tbl, ans(), i As Long, j As Long tbl = Range("A1:A" & Range("A1").End(xlDown).Row) j = 0 ReDim ans(1 To UBound(tbl, 1), 1 To 1) With CreateObject("Scripting.Dictionary") For i = 1 To UBound(tbl, 1) - 1 If tbl(i, 1) <> tbl(i + 1, 1) Then ans(i, 1) = "フラグ" If Not .Exists(tbl(i, 1) & "→" & tbl(i + 1, 1)) Then .Add tbl(i, 1) & "→" & tbl(i + 1, 1), 1 Else .Item(tbl(i, 1) & "→" & tbl(i + 1, 1)) = _ .Item(tbl(i, 1) & "→" & tbl(i + 1, 1)) + 1 End If End If Next Range("B:D").ClearContents Range("B1").Resize(UBound(ans, 1)).Value = ans Range("C1").Resize(.Count).Value = Application.Transpose(.Keys) Range("D1").Resize(.Count).Value = Application.Transpose(.Items) End With End Sub
今は、
SUMPRODUCT(COUNTIF(B1,A$1:A$99&A$2:A$100))
の計算の意味を勉強中です。
小生の頭ではマクロは理解不可能でした。。。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.