慕虚荣 发表于 2021-9-28 08:42:00

多对多查询

拜请大神查看附件,不吝赐教!

高阁 发表于 2021-10-9 07:04:02

G列是1日,手动筛选也是3条,没毛病。又要月又要日就是双条件:=INDEX(面!D:D,SMALL(IF((面!$F:$F=$E$2)*(面!$G:$G=Sheet1!$G$2),ROW(面!$G:$G),2^10),ROW(A1)))&""

彼岸微风 发表于 2021-11-1 17:34:18

是你的附件有问题还是我电脑有问题?打开你的附件EXCEL就卡死
你在公式IF后面再多加一个条件试试呗!

心灵理疗师 发表于 2021-11-1 21:49:21

=INDEX(面!D:D,SMALL(IF(面!$G:$G=Sheet1!$G$2,ROW(面!$G:$G),2^10),ROW(A1)))&"",这个只限制了一个条件G2,8月1日,9月1日共有三条记录。所以结果没有错。
你的需求需要再加一个条件。

灼灼其华 发表于 2021-11-7 06:31:44

=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))),"") 三键结束,其他的自己可以根据这个设置下

枫叶火海森林 发表于 2021-11-15 04:26:41

改成这样试试,多加一个条件。
=INDEX(面!D:D,SMALL(IF((面!$F$1:$F200=$E$2)*(面!$G$1:$G200=$G$2),ROW(面!$1:200),2^10),ROW(A1)))&""

土炳 发表于 2021-11-30 19:23:33

感谢大神们!

美丽的蓝精灵 发表于 2021-12-7 04:54:12

=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)))&""
如果是不想要油,只想要面,还要加一个条件

杨顺意 发表于 2021-12-18 06:29:46

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]
查看完整版本: 多对多查询