Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 查找列中的所有重复项,并在同一单元格中以向左偏移的方式返回所有重复项_Excel_Google Sheets - Fatal编程技术网

Excel 查找列中的所有重复项,并在同一单元格中以向左偏移的方式返回所有重复项

Excel 查找列中的所有重复项,并在同一单元格中以向左偏移的方式返回所有重复项,excel,google-sheets,Excel,Google Sheets,我想在“sheet_02”中搜索列I,查找重复的单元格,如果找到了一些单元格,我想返回与每个单元格匹配的单元格-剩下的7列。在一个单元格中具有相同匹配单元格值的所有相同副本,在下一个单元格中与下面的下一个单元格匹配 为了澄清我的例子: 来源:“表02” 源硬盘的一个例子:为了在我的工作表中澄清,在我的问题中代表“item_01”的值是随机字符串,但有些具有相同的名称。“名称”和“01”也一样。因此,在我想使用该代码的工作表中,它看起来像下面的示例。此外,我的价值观列表要长得多 希望这个硬盘的例子

我想在
“sheet_02”
中搜索列
I
,查找重复的单元格,如果找到了一些单元格,我想返回与每个单元格匹配的单元格-剩下的7列。在一个单元格中具有相同匹配单元格值的所有相同副本,在下一个单元格中与下面的下一个单元格匹配

为了澄清我的例子:

来源:
“表02”

源硬盘的一个例子:为了在我的工作表中澄清,在我的问题中代表“item_01”的值是随机字符串,但有些具有相同的名称。“名称”和“01”也一样。因此,在我想使用该代码的工作表中,它看起来像下面的示例。此外,我的价值观列表要长得多

希望这个硬盘的例子能让它更清晰。这仍然是相同的模式

来源:
“表02”

谷歌表单

让我们在
sort()
中放入更多的
FILTER()
,并使用列B获取唯一值

“B1”放置
=唯一(活页\u 02!I$1:I$16)

“A1:…”put
=join(字符(10)、排序(筛选器(工作表\u 02!B$1:B$16,工作表\u 02!I$1:I$16=B1))

我希望它对您有用,

for Excel: 我将您的数据转换为表格,以便使用结构化引用。但是如果你需要的话,你可以使用定期的推荐信

公式:

=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(myTbl[Column1], myTbl[Column8]= INDEX(UNIQUE(myTbl[Column8]),ROWS($1:1)))),"")
然后填写,直到你开始看到空白:

原始数据的结果:

第二组数据:


注意

对于谷歌工作表,谷歌将Excel转换为工作表的等效公式可以是:

=ARRAY_CONSTRAIN(ARRAYFORMULA(IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Sheet_02!$B$1:$B$6, Sheet_02!$I$1:$I$6= INDEX(UNIQUE(Sheet_02!$I$1:$I$6),ROWS($1:1)))),"")), 1, 1)
但这似乎同样有效:

=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Sheet_02!$B$1:$B$6, Sheet_02!$I$1:$I$6= INDEX(UNIQUE(Sheet_02!$I$1:$I$6),ROWS($1:1)))),"")

非常感谢你对这个问题的思考。很抱歉,我的工作表不能使用
item_01
,其他的只是名称的同义词,这样问题就更清楚了,所以
item_01
也可以是
“Seagate Barracuda(Unity)”
或任何其他str值。哦,这就是它应该的方式。这种方式更好,但需要使用“B1”来填充更多的数组公式。我更新了答案。如果您需要B列使用另一个东西,让我了解更多关于不使用B列的其他解决方案。我猜,
“Column1”
“names”
的命名范围,
“Column8”
“items”
的命名范围?@RonRosenfeld您创建了一个惊人的公式,我也可以从中学习。谢谢你,哪怕不是我自己的问题。haha@BenjaminK我刚刚注意到在我的表单示例中,第一行数据不可见,因为内部颜色为黑色。“我已经改变了。”祖蒙,谢谢。我在Excel中创建了公式,然后将文件上传到工作表中。谷歌将Excel公式转换为表格(尽管我确实需要做一些编辑)。@BenjaminK看来你是对的,我编辑了我的答案以反映这一点。对于原始的Sheets公式,我只是通过Excel上传到Sheets并接受了翻译。我不是一个经常使用纸张的人。我发现它在没有
数组
公式项的情况下确实产生了相同的结果。我怀疑这种转换与Excel在拥有动态数组之前的表现有关,从需要使用
ctrl+shift+enter
输入数组公式开始。
=join(char(10), sort(sheet_02!I1:I6))
=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(myTbl[Column1], myTbl[Column8]= INDEX(UNIQUE(myTbl[Column8]),ROWS($1:1)))),"")
=ARRAY_CONSTRAIN(ARRAYFORMULA(IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Sheet_02!$B$1:$B$6, Sheet_02!$I$1:$I$6= INDEX(UNIQUE(Sheet_02!$I$1:$I$6),ROWS($1:1)))),"")), 1, 1)
=IFERROR(TEXTJOIN(CHAR(10),TRUE,FILTER(Sheet_02!$B$1:$B$6, Sheet_02!$I$1:$I$6= INDEX(UNIQUE(Sheet_02!$I$1:$I$6),ROWS($1:1)))),"")