如何在Excel中为已筛选行提取单元格数据?
我需要按颜色列出相关SKU的列表。A列为SKU,B列为产品名称,C列为颜色。例如:10种颜色的小衬衫、10种颜色的中衬衫和10种颜色的大衬衫。数据是按大小组织的,如黑色小号、红色小号、黄色小号等。我需要关联颜色,使黑色小号与黑色中号和黑色大号交叉关联 我通常会通过调整公式并运行下面的宏来实现这一点,以便B列中的每一个更改都会包含A列中的所有SKU。问题是,当筛选C列时,这不起作用,只选择黑色、白色或蓝色等颜色。我如何实现结果 我通常会按照这些步骤来做如何在Excel中为已筛选行提取单元格数据?,excel,vba,excel-formula,Excel,Vba,Excel Formula,我需要按颜色列出相关SKU的列表。A列为SKU,B列为产品名称,C列为颜色。例如:10种颜色的小衬衫、10种颜色的中衬衫和10种颜色的大衬衫。数据是按大小组织的,如黑色小号、红色小号、黄色小号等。我需要关联颜色,使黑色小号与黑色中号和黑色大号交叉关联 我通常会通过调整公式并运行下面的宏来实现这一点,以便B列中的每一个更改都会包含A列中的所有SKU。问题是,当筛选C列时,这不起作用,只选择黑色、白色或蓝色等颜色。我如何实现结果 我通常会按照这些步骤来做 在D列中输入以下公式:=IF(A2A1、B2
=IF(A2A1、B2、C1&“、”&B2)
=IF(AW2AW3,AY2)
上面是一张示例图像,显示了我正在处理的一些数据和所需的结果。最终结果是,如果新列具有相同的名称,则所有SKU都将由逗号分隔。因此,对于“锥形杆拉力”,第14、17、20、23、27和30行的拉力为M2100、M2101、M2102、M2103、M1171、M1174
我对VBA持开放态度,并将标签更改为包含在帖子中。显然,我无法发布图像,因为我没有代表。因此这里有一个关于公式的解决方案:
D2
中的公式:
=IF(C2=$D$1,TEXTJOIN(",",TRUE,IF(($B$2:$B$12=B2)*($C$2:$C$12=$D$1),$A$2:$A$12,"")),"")
通过CtrlShift输入
拖下来
如您所见,在应用过滤器后,它仍将工作
这基于一个数组公式,该公式仅在其列C值等于D1
时计算。因为在进行大量计算之前进行简单的检查是很好的
请注意,我相信只有在某些订阅条件下,Excel 2016才能提供此功能。但是,您可以选择VBA路线,但是接下来您应该查看
特殊单元格(xlCellTypeVisible)
是否可以显示样本数据而不是描述它?具有所需的输出。另外,您还没有标记VBA,但是您描述了宏的使用,您是否对VBA和公式答案都持开放态度?谢谢您的建议。“我希望我的编辑能让它更清晰。”gangula提出了一个糟糕的编辑建议,我在意识到之前接受了这个建议。花了整整30分钟来纠正他的错误。我修改了公式中的12,使之与电子表格中的实际行数相匹配,这就奏效了。尽管由于某些原因,第一列在某些单元格中的逗号数量过多。非常感谢。
=IF(C2=$D$1,TEXTJOIN(",",TRUE,IF(($B$2:$B$12=B2)*($C$2:$C$12=$D$1),$A$2:$A$12,"")),"")