怎样才能这样
excel吧
全部回复
仅看楼主
level 8
z8482397 楼主
怎样才能自动实现统计连续出现数据3次以上上升或下降(增长.下降)
2013年12月07日 16点12分 1
level 8
z8482397 楼主
变成这样
2013年12月07日 16点12分 2
没弄明白你红色字符的来因,下降3是指那三次下降?上升4是指那四次上升?上升5前面是上升4,那为什么不来个连续上升9呢?
2013年12月08日 04点12分
回复 1220小龙 :额 大致是这样没错啦
2013年12月08日 06点12分
level 8
z8482397 楼主
v自己挽
2013年12月08日 02点12分 3
level 7
没看明白具体意思!
2013年12月08日 04点12分 4
吧务
level 14
我现在是猜谜高手,应该是:
A3~A5分别为3,2,1连续降序排列3次,
A9~A12分别为1,2,3,4,连续升序排列4次....,
A22~A24分别为-12,-11,-10连续升序排列3次
这题用"FREQUENCY"函数,我碰到这种函数就晕头转向,对 @zipall 和 @fengtf12 应该是轻而易举
2013年12月08日 05点12分 5
我现在一想函数就头疼[笑眼] ,给个vba方法吧.
2013年12月08日 06点12分
level 13
B5=RIGHT(LEFT(IF(MAX(A4:A6)=A5,"↑",IF(MIN(A4:A6)=A5,"↓"," "))&TEXT(ROW()-LOOKUP(1,0/IF(ROW($3:5)=3,1=1,IF(A5>A4,A$3:A5<=A$2:A4,A$3:A5>=A$2:A4)),ROW($2:4)),"[<3] "),4),2) 数组函数
最近年底实在太忙,验证跟简化这种烦琐事就劳烦你们了
@鬍鬚客 @zipall 等等高手(太久不来记不清了,不好意思哈)
2013年12月08日 06点12分 6
"[<3] " 这个地方空格被吃,要两个空
2013年12月08日 06点12分
IF(MAX(A4:A6)=A5,"↑",IF(MIN(A4:A6)=A5,"↓"," ") 最后面是4个空
2013年12月08日 06点12分
吧务
level 15
Sub test()
Dim r As Long, arr
Dim f As Boolean
Dim n As Integer
r = Range("A65536").End(xlUp).Row - 2
Cells(3, 2).Resize(r).ClearContents
With Cells(3, 1).Resize(r, 2)
arr = .Value
n = 2
f = arr(2, 1) > arr(1, 1)
For r = 3 To r
t = arr(r, 1) > arr(r - 1, 1)
If t = f Then
n = n + 1
Else
If n > 2 Then arr(r - 1, 2) = IIf(f, "↑", "↓") & n
n = 2
f = t
End If
Next
If n > 2 Then arr(r - 1, 2) = IIf(f, "↑", "↓") & n
.Value = arr
End With
End Sub
2013年12月08日 07点12分 7
吧主又放大招耍赖。。。。[啊]
2013年12月08日 07点12分
回复 fengtf12 :不是耍赖,是偷懒 哈哈
2013年12月08日 07点12分
回复 zipall :请问一下吧主,如何把这段代码引用到F1的一列呢[疑问]只看懂了“- 2”和“(3,1)”
2013年12月09日 05点12分
回复 陵子虚 :@zipall
2013年12月14日 14点12分
吧务
level 12
手慢了……
Sub My()
Dim i, j, Asc_y, Desc_y
Dim arr, brr
i = [A65536].End(3).Row
arr = Range("A3", "A" & i + 1)
ReDim brr(1 To i)
a:
j = j + 1
If j = UBound(arr) Then GoTo b
If arr(j, 1) - arr(j + 1, 1) = 1 And Asc_y = 0 Then
Desc_y = Desc_y + 1
ElseIf Desc_y <> 0 Then
If Desc_y + 1 > 2 Then brr(j) = "↓" & Desc_y + 1
Desc_y = 0
End If
If arr(j, 1) - arr(j + 1, 1) = -1 And y = 0 Then
Asc_y = Asc_y + 1
ElseIf Asc_y <> 0 Then
If Asc_y + 1 > 2 Then brr(j) = "↑" & Asc_y + 1
Asc_y = 0
End If
GoTo a
b:
Range("B3", "B" & i) = Application.Transpose(brr)
End Sub
2013年12月08日 07点12分 8
可升不可降。。
2013年12月08日 11点12分
level 5
先说清楚你的要求。。。
2013年12月08日 08点12分 9
1楼变成2楼那样↓表降序 ↑表升序 边上的数字表示有几个连续的数
2013年12月08日 09点12分
连续的数只显示最后一个 其他隐藏
2013年12月08日 09点12分
level 10
升降次数的算法是否有误?
B5
=TEXT(IF(A5=A4,0,IF(A5>A4,1+E4*(A4>A3),IF(A5<A4,E4*(A4<A3)-1))),"[>=3]!↑0;[<=-3]!↓0;;")普通公式下拉
或B5
=IF(A5=A4,0,IF(A5>A4,1+E4*(A4>A3),IF(A5<A4,-1+E4*(A4<A3))))下拉
再自定义单元格格式[>=3]"↑"0;[<=-3]"↓"0;;
2013年12月08日 08点12分 10
1