def myValBimap[E, S] = new Bifunctor[Tuple2[Seq[E], Seq[S]]] {
override def bimap[A, B, C, D](fab: (A, B))(f: (A) => C, g: (B) => D): (C, D) = ???
}
我正在寻找一个excel公式,它将返回单词“shoes”所在的行号。Shoes 20
Pants 10
Tshirts 15
Socks 5
Hats
Shoes
将起作用,但当我需要它返回<返回 1 时强> 6 基于这样的事实,它是第一个“鞋子”旁边有一个空白单元格。这可能吗?我徒劳地尝试使用MATCH
和IF
,但无济于事。
非常感谢任何帮助,谢谢
答案 0 :(得分:1)
您可以使用以下公式:
=MATCH(1,INDEX((($A1:$A6="Shoes")*($B1:$B6=0)),),0)
它使用INDEX
函数不太常用的MessageUI Framework函数,返回一个数组,其中两个条件(&#34; Shoes&#34;和0)都保持(即值为1) 。最后,MATCH
在该数组中找到1并返回到哪个位置。
在评估过程中,公式解析如下:
=MATCH(1,INDEX(({TRUE,FALSE,FALSE,FALSE,FALSE,TRUE}*{FALSE,FALSE,FALSE,FALSE,TRUE,TRUE}),),0)
......然后:
=MATCH(1,INDEX({0,0,0,0,0,1},),0)
=MATCH(1,{0,0,0,0,0,1}, 0)
=6
在这里,您将保留一列来计算中间值。如果需要,您可以隐藏该列。让我们说该列是&#34; C&#34;,然后在C1
放置:
=A1 & ":" & B1
向下拖动该公式,并可选择隐藏该列。
现在,您可以使用简单的MATCH
:
=MATCH("Shoes:", $C$1:$C$6, 0)
对于非常大的表,此解决方案将具有更好的性能。