多对多查询
拜请大神查看附件,不吝赐教!G列是1日,手动筛选也是3条,没毛病。又要月又要日就是双条件:=INDEX(面!D:D,SMALL(IF((面!$F:$F=$E$2)*(面!$G:$G=Sheet1!$G$2),ROW(面!$G:$G),2^10),ROW(A1)))&"" 是你的附件有问题还是我电脑有问题?打开你的附件EXCEL就卡死
你在公式IF后面再多加一个条件试试呗! =INDEX(面!D:D,SMALL(IF(面!$G:$G=Sheet1!$G$2,ROW(面!$G:$G),2^10),ROW(A1)))&"",这个只限制了一个条件G2,8月1日,9月1日共有三条记录。所以结果没有错。
你的需求需要再加一个条件。 =IFERROR(INDEX(面!$D$2:$D$46,SMALL(IF($E$2&$G$2=面!$F$2:$F$46&面!$G$2:$G$46,ROW($1:$45),4^8),ROW(A1))),"") 三键结束,其他的自己可以根据这个设置下 改成这样试试,多加一个条件。
=INDEX(面!D:D,SMALL(IF((面!$F$1:$F200=$E$2)*(面!$G$1:$G200=$G$2),ROW(面!$1:200),2^10),ROW(A1)))&"" 感谢大神们! =INDEX(面!D:D,SMALL(IF((面!$F$2:$F$46=$E$2)*(面!$G$2:$G$46=$G$2)*(面!$D$2:$D$46="面条"),ROW($2:$46),4^8),ROW(A1)))&""
如果是不想要油,只想要面,还要加一个条件 Sub lll()
Dim rng As Range
Dim i As Integer, k As Integer
i = Sheets("Ãæ").Cells(Rows.Count, 1).End(xlUp).Row
k = 0
For Each rng In Sheets("Ãæ").Range("f2:f" & i)
If rng & rng.Offset(0, 1) = Sheets("sheet1").Range("e2") & Sheets("sheet1").Range("g2") Then
k = k + 1
With Sheets("sheet1")
.Cells(k + 3, 2) = rng.Offset(0, -2)
.Cells(k + 3, 3) = rng.Offset(0, 2)
.Cells(k + 3, 4) = rng.Offset(0, 3)
.Cells(k + 3, 5) = rng.Offset(0, 4)
.Cells(k + 3, 6) = rng.Offset(0, 5)
End With
End If
Next
End Sub
页:
[1]