=CHOOSE(MOD(COLUMN(A:A)-1,2)+1,INDEX($C:$C,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(H$2))*ROW($3:$8)))
展开全部
这个公式比较啰嗦。我也是看着头大,才想着这样写。只能大致说说。
=CHOOSE(MOD(COLUMN(A:A)-1,2)+1,结果1,结果2)
这是利用choose函数实现两种判断,用IF函数也一样。
这样,H\J\L……列应用结果1,I\K\M……列应用结果2。
COLUMN取行号,再用mod函数求余,这样公式右拉,MOD(COLUMN(A:A)-1,2)+1依次得到1,2,1,2的变化,作为choose函数的参数。这是常用的“伎俩”。
结果1
INDEX($C:$C,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(H$2))*ROW($3:$8)))
结果2
INDEX($D:$D,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(G$2))*ROW($3:$8)))
这两个结构是一样的。
无非是:
H\J\L……列,利用标题行的“客人1”“客人2”的关键字尾数来和B列比对,再取$C列的值;
I\K\M……列,也要“客人1”“客人2”的关键字尾数来和B列比对,所以标题行的列号要往回取一列,再取$D列的值。
公式涉及相对引用与绝对引用、mod函数、column函数、文本函数、index函数、数组公式……,因为你的问题本身比较啰嗦:)
所以,只能请你慢慢琢磨了。
=CHOOSE(MOD(COLUMN(A:A)-1,2)+1,结果1,结果2)
这是利用choose函数实现两种判断,用IF函数也一样。
这样,H\J\L……列应用结果1,I\K\M……列应用结果2。
COLUMN取行号,再用mod函数求余,这样公式右拉,MOD(COLUMN(A:A)-1,2)+1依次得到1,2,1,2的变化,作为choose函数的参数。这是常用的“伎俩”。
结果1
INDEX($C:$C,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(H$2))*ROW($3:$8)))
结果2
INDEX($D:$D,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(G$2))*ROW($3:$8)))
这两个结构是一样的。
无非是:
H\J\L……列,利用标题行的“客人1”“客人2”的关键字尾数来和B列比对,再取$C列的值;
I\K\M……列,也要“客人1”“客人2”的关键字尾数来和B列比对,所以标题行的列号要往回取一列,再取$D列的值。
公式涉及相对引用与绝对引用、mod函数、column函数、文本函数、index函数、数组公式……,因为你的问题本身比较啰嗦:)
所以,只能请你慢慢琢磨了。
来自:求助得到的回答
展开全部
=CHOOSE(MOD(COLUMN(A:A)-1,2)+1,INDEX($C:$C,MAX(($A$3:$A$8=$G3)*($B$3:$B$8=--RIGHT(H$2))*ROW($3:$8)))
这是一个完整的公式吗?感觉缺少了一个参数。
CHOOSE选择函数,后面加上MOD( ,2)+1表示根据列号返回1或2,如果为1,就返回后面的第一个参数,如果为2,就返回后面的第二个参数(当前公式只有后面的一个参数,而没有第二个参数);
MAX()返回的是满足A列等于G3且B列等于H2最后一个数的行号,然后通过INDEX提取C列对应行号的数据。
这是一个完整的公式吗?感觉缺少了一个参数。
CHOOSE选择函数,后面加上MOD( ,2)+1表示根据列号返回1或2,如果为1,就返回后面的第一个参数,如果为2,就返回后面的第二个参数(当前公式只有后面的一个参数,而没有第二个参数);
MAX()返回的是满足A列等于G3且B列等于H2最后一个数的行号,然后通过INDEX提取C列对应行号的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询