excel,有点难度的公式,请大侠们看看,如何做到以下要求???
发布网友
发布时间:2022-05-06 09:45
我来回答
共3个回答
热心网友
时间:2022-06-29 07:17
你自己加个宏吧,这是代码,昨晚那代码我整理了下,这个比较少。
Dim a, b, f, g, h, j, k, n, x As Integer
Sub work()
'
' work Macro
'
Dim z As Integer
'初始值,自己给的,可以通过弹出对话框设置进来
x = 400
'全局变量,保存结果那里执行到的行数
j = 1
k = 1
'a,b,f,g,h字母对应行号
a = 1
b = 2
f = 6
g = 7
h = 8
'我不知道有多少行,就先认为每个表里面的数据不超过1000行了
n = 1000
For z = 1 To 3 Step 1 '3是因为有三页资料需要对比,我把每页的名字改为Sheet加上页数
zz (z) '调用函数zz,zz是对比过程,我看大同小异,就把它合成一个函数了
Next z
Sheets("结果").Select '运行好之后把焦点转到结果这页,方便看结果
End Sub
Public Function zz(z As Integer)
Dim str As String
str = "Sheet" + CStr(z) '把当前页的名字定义为一个字符串
Sheets(str).Select '获得焦点,其实这行有没有也一样的
For i = 1 To n Step 1
If Sheets(str).Cells(i, g) = "b" Then
x = Sheets(str).Cells(i, h) 'x的作用是存放那个特殊值,就是当g列为b时,h列上的那个值
Sheets("结果").Cells(k, b) = x
k = k + 1
Exit For
Else:
If Sheets(str).Cells(i, f) > x Then
Sheets("结果").Cells(j, a) = Sheets(str).Cells(i, f) '把符合条件的数据放到结果页上
j = j + 1
End If
End If
Next i
End Function
我标了注释,看不懂问我。。
热心网友
时间:2022-06-29 07:17
楼主的意思不太明白啊.你的4,5表呢?是什么内容.1,2,3表的数据有什么联系?
热心网友
时间:2022-06-29 07:18
说的问题不清楚,最好详细点。