这是我的桌子Sheet1
:
A B C D
------------------------------------------
1 220 John Good
2 210 Jack Bad
3 300 Mike Good
4 473 David Very Good
我想创建一个 中的“良好”和“非常好”记录列表Sheet2
。例如:
A B C D
------------------------------------------
1 220 John Good
2 300 Mike Good
3 473 David Very Good
我应该使用哪个公式来填充每一行?(自动填充)
答案1
您可以使用 Excel 中的高级筛选功能,并将 Sheet2 设置为筛选位置。数据 > 排序和筛选 > 高级 > 选中“复制到另一个位置”单选按钮。
您需要为此创建条件。在本例中,请在表格上方创建另外三行,并将相应的列设置为:
="=好" 和 ="=非常好"
它看起来像这样(请注意,您需要在条件和数据之间留出空白行,以及条件的列标签):
A B C D
------------------------------------------
=Good
=Very Good
A B C D
------------------------------------------
1 220 John Good
2 210 Jack Bad
3 300 Mike Good
4 473 David Very Good
答案2
使用Alt- D- F-启用自动筛选F,或者在光标位于列表中时选择数据功能区上的筛选按钮。然后使用 D 列上的文本筛选器筛选“包含”
答案3
与前两个答案非常相似(尽管可能稍微简单一些,但因此不太通用)但确保保留原始数据并按照问题所示重新编号:
- 将 Sheet1 复制到 Sheet2。
- 选择 Sheet2 ColumnD。
- 数据 > 排序和过滤 – 过滤。
- 点击向下的箭头,点击全选,然后选择“不好”,确定。
- 删除除第一行(即以蓝色编号的行)之外的所有可见行。
- 单击“过滤器”。
- 选择“A1”并Ctrl按下,向下拖动至所需的距离。
答案4
Sheet2 中的 B1
=(IFERROR(INDEX(Sheet1!B$1:B$4,SMALL(IF(Sheet1!D$1:D$4="bad",,if(Sheet1!D$1:D$4="",,ROW(Sheet1!B$1:B$4)-Row(Sheet1!B$1)+1)),ROW(Sheet1!B1))),""))
Sheet2 中的 C1
=(IFERROR(INDEX(Sheet1!C$1:C$4,SMALL(IF(Sheet1!D$1:D$4="bad",,if(Sheet1!D$1:D$4="",,ROW(Sheet1!C$1:C$4)-Row(Sheet1!C$1)+1)),ROW(Sheet1!C1))),""))
Sheet2 中的 D1
=(IFERROR(INDEX(Sheet1!D$1:D$4,SMALL(IF(Sheet1!D$1:D$4="bad",,if(Sheet1!D$1:D$4="",,ROW(Sheet1!D$1:D$4)-Row(Sheet1!D$1)+1)),ROW(Sheet1!D1))),""))