EXCEL VBA 筛选,对筛选结果赋值或计算
dim i as long
'获取A列末行
dim endRowA as long
endRowA =range("A:" rows.count).end(xlUp).row
'循环第二行至A列末行
for i=2 to endRowA
if range("A:" i).value5 then '对A列进行筛选,这里的筛选条件是值大于5
Rows(i ":" i).EntireRow.Hidden = False '满足条件的取消行隐藏
range("B:" i).value=range("A:" i).value '操作B列,这里B列赋值为A列的值
else
Rows(i ":" i).EntireRow.Hidden = True '不满足条件的进行隐藏
next i
Excel里怎样实现多条件筛选并赋值当前单元格
如果C4:C10范围内能查到到R(一个或多个),则C3显示R
=IF(COUNTIF(C4:C10,"R")0,"R","")
其他类推
excel 筛选比较赋值问题?
D2单元格的1直接输入
D3输入公式 =IF(B3-LOOKUP(1,0/(D$2:D2=1),B$2:B2)=1,1,"")
下拉即可
看了你的补充
D2输入公式
=IF(COUNTIF(A$2:A2,A2)=1,1,IF(B2-LOOKUP(1,0/(A$1:A1D$1:D1=A21),B$1:B1)1,1,""))
下拉
关于EXCEL的筛选赋值
应该是vlookup的典型使用, 用来检索现有列表信息, 通过客户名称检索该客户的其他信息.假如A-C列是原始信息, 在E列进行查询然后在F列显示相应的信息E1输入三元 F1输入函数: =vlookup(E1,A:C,2) 得到的就是对应三元的B列的信息
excel,如何把筛选后的各单元格的值赋值给它的上一单元格
其实,你如果只是想让非日期的单元格等于下面日期单元格,很容易。你先筛选出非日期行,(加辅助列,即先A列筛选出0,在B列鼠标拉动选中空白,输入1,按住ctrl+回车。然后再A列筛选条件为全选,B列按不等于1筛选,就筛选出非日期行了),然后在旁边的空单元格输入=下一单元格。如c3输入: =c4 复制c3单元格(ctrl+c)。
把A列选出的非日期单元格选中,粘贴(ctrl+v)。这样就行了。
求Excel VBA对筛选结果其他列赋值代码,举例筛选A列等于1的,把B列的值替换为11,C列填入内容K,谢谢!
两种 方法:
一种是用筛选的方法:
Private Sub CommandButton1_Click()
'把A列筛选为1
Range("a1:c" Range("a65536").End(xlUp).Row).AutoFilter 1, "1"
'取筛选后最后一行的行标
row1 = Range("a65536").End(xlUp).Row
'把B列筛选后的第一个单元格等于11,以列的等于K
Range("b2:b65536").SpecialCells(xlCellTypeVisible)(1) = 11
Range("c2:c65536").SpecialCells(xlCellTypeVisible)(1) = "k"
'把B列,c列向下填充
Range(Range("b2:b65536").SpecialCells(xlCellTypeVisible)(1), Range("b" row1)).FillDown
Range(Range("c2:c65536").SpecialCells(xlCellTypeVisible)(1), Range("c" row1)).FillDown
End Sub
二种是用for循环
Private Sub CommandButton1_Click()
For i = 2 To Range("a65536").End(xlUp).Row
If Range("a" i) = 1 Then
Range("b" i) = 11
Range("c" i) = "k"
End If
Next i
End Sub