拖动公式更改行参考而不是列Excel

时间:2016-07-10 20:46:46

标签: excel formula

我有一个与喜欢它们的人相关的事物数据库,如下所示:

本页名称为第1页

Image of Current Database

在另一张表中,我试图通过每个喜欢它们的人来分类。

在第二张表中,我需要检查以确保单元格不是空白(因为另一个用户输入可能会添加其他人)。如果单元格中有人名,我需要遍历数据库中的所有内容,以查看该人的名字是否出现在其旁边。

如果确实如此,那么我希望它能够返回所有他们喜欢的东西,如下面的绿色所示:

本页名称为第2页 Image of Database After Function

我知道我需要使用OFFSET函数,但是正如我现在所写的那样,它不起作用。任何帮助都非常感谢!

我的功能如下。这将是SHEET 2中B2的一个功能。我希望能够将此功能向右拖动(从B2到F2)并使输出如上面的绿色所示。

=IF(COUNTIF(OFFSET(sheet1!$B$2:$F$2, 0, COLUMN()-2) $A$2), OFFSET(sheet1!A2, 0, COLUMN() -2), " ")

我目前收到一条错误消息,说我的论点太少了。但是,我想我还有其他的东西是错的......任何帮助都非常感激

SHEET 1 DATA:

Things  People Who Like The Thing                       
Potatoes    Person 3    Person 6                    
Cats    Person 1    Person 4    Person 6                
Mice    Person 2    Person 6                    
Green   Person 2    Person 6                    
Wine    Person 1    Person 5    Person 6                
Chicken Person 1    Person 6                    
Dogs    Person 1    Person 4    Person 6                
Flowers Person 2    Person 5    Person 6                
Chair   Person 3    Person 6                    
Shirts  Person 4    Person 6

第2页(未解决)数据:

    Favorite Things                                 
Person 1                                        
Person 2                                        
Person 3                                        
Person 4                                        
Person 5                                        
Person 6                                        

1 个答案:

答案 0 :(得分:1)

我会使用SMALL(IF())样式公式。

如果你有2010或更高版本,那么可以使用AGGREGATE()函数轻松完成:

=IFERROR(INDEX(Sheet1!$A$2:$A$11,AGGREGATE(15,6,(ROW(Sheet1!$B$2:$D$11)-1)/(Sheet1!$B$2:$D$11=$A2),COLUMN(A:A))),"")

所以这些公式的作用是使用SMALL()公式。小公式以这种方式SMALL(Range,k)设置。 k是实例,如果k为3,那么它将返回第3个最小值。

由于我们使用COLUMN(A:A)作为我们的kCOLUMN(A:A)返回的数字每次填充到右边时都会增加1。这样就给我们列出了第1个,第2个,第3个......

这是传递给INDEX的号码。

如果不这样做,则使用此数组公式:

=IFERROR(INDEX(Sheet1!$A$2:$A$11,SMALL(IF(Sheet1!$B$2:$D$11=$A2,(ROW(Sheet1!$B$2:$D$11)-1)),COLUMN(A:A))),"")

作为数组公式,必须在离开编辑模式而不是Enter时使用Ctrl-Shift-Enter确认。如果正确完成,excel会将{}放在公式周围。

enter image description here