[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『連続して同じ数字があった場合にセルに文字を表示』(ちんとんとんとん)
以下のようなことを実行したいのですが・・・
1月から12月までのデータが入力されており、3ヶ月連続で1が入力されているセルがあった場合のみ判定欄に、到達という文字を表示させたいのです。
どなたかお知恵をお貸しください。
よろしくお願いします。
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 判定
A 1 1 1 注意
B 1 1 1 1
C
D 1 1 1 注意
< 使用 Excel:Excel2013、使用 OS:unknown >
入力するのは「1」以外に何かあります? 「1」以外の数字は入力しない、もしくは「11」とか「111」は入力しない、ということなら
1月がB列、12月がM列、データは2行目からだとして 表示するのが「到達」なのか「注意」なのかわかりませんけど
N2 =IF(SUMPRODUCT((B2:K2&C2:L2&D2:M2="111")*1),"到達","")
とか。 (笑) 2016/04/20(水) 18:53
4ヶ月以上連続ならどーすんの?
※「達成」だったら4ヶ月以上でもOKそうだけど。 (GobGob) 2016/04/21(木) 08:56
Sub test() Dim i As Long Dim j As Long Dim iMax As Long Dim cw As String
iMax = Cells(Rows.Count, "A").End(xlUp).Row Range("N2:N" & iMax).ClearContents
For i = 2 To iMax cw = String(12, " ") For j = 1 To 12 If Cells(i, j + 1).Value <> "" Then Mid(cw, j, 1) = "1" End If Next j If 0 < InStr(cw, "111") Then Cells(i, "N").Value = "注意" End If Next i End Sub (???) 2016/04/21(木) 09:38
笑さんと同じレイアウトだとして。 =IF(SUMPRODUCT((B2:K2=1)*(C2:L2=1)*(D2:M2=1)),"到達","")
または =IF(MAX(COUNTIF(OFFSET(B2,,ROW($1:$9)-1,,3),1))=3,"到達","") =IF(MAX(COUNTIF(OFFSET(A2,,ROW($1:$9),,3),1))=3,"到達","") 式を入力時、ShiftキーとCtrlキーを押しながらEnterキーで確定する(確定後、式が{}で囲まれればOK)
なお、 =IF(MAX(INDEX(COUNTIF(OFFSET(B2,,ROW($1:$9)-1,,3),1),0))=3,"到達","") =IF(MAX(INDEX(COUNTIF(OFFSET(A2,,ROW($1:$9),,3),1),0))=3,"到達","") とするとShift+Ctrl+Enterは必要なくなる。 (ねむねむ) 2016/04/22(金) 09:29
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.