TEXTJOIN без дубликатов без пробелов, таблица, отдельные столбцы

У меня есть эта таблица: введите здесь описание изображения

в ячейке A4 я хочу значение Orange. Я хочу взять только сводку трех столбцов Fruit, отмеченных оранжевым цветом:

  • формат таблицы (поэтому вместо ячеек B2,E2,H2 мне нужны [@Fruit 1], [@Fruit 2], [@Fruit 3])
  • только столбцы фруктов, которые разделены нерелевантными столбцами цены и веса между ними.
  • нет дубликатов (поэтому Fruit 1: Apple & Fruit 2: Apple 2 становится просто Apple, а не Apple, Apple)
  • без пробелов (поэтому ряд 4 будет оранжевым, а не оранжевым)

Любая помощь будет оценена.


person Kobe2424    schedule 30.03.2021    source источник


Ответы (3)


Вы были правы, включив тег textjoin, потому что это то, что вам нужно будет использовать. Примерно так:
=TEXTJOIN(", ", TRUE, [@Fruit 1], IF([@Fruit 1] = [@Fruit 2], "", [@Fruit 2]), IF(OR([@Fruit 1] = [@Fruit 3], [@Fruit 2] = [@Fruit 3]), "", [@Fruit 3])).

Этот второй параметр в формуле Textjoin устанавливает игнорирование пустых значений. Формулы ЕСЛИ возвращают пустые значения, если их значение было показано в предыдущем столбце (то есть Fruit 2 проверяет Fruit 1, Fruit 3 проверяет оба столбца Fruit 1 и 2).

person Spencer Barnes    schedule 30.03.2021
comment
Работает! Я ценю помощь, Спенсер. - person Kobe2424; 30.03.2021

Если у вас есть Excel365, используйте приведенную ниже формулу.

=TEXTJOIN(", ",TRUE,UNIQUE(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,Table1[@])&"</s></t>","//s[translate(.,'1234567890','')=.]")))

введите здесь описание изображения

person Harun24HR    schedule 30.03.2021
comment
у меня есть Excel 365, кажется, что ответ Спенсера Барнса более общий, и он работает, я ценю помощь! - person Kobe2424; 30.03.2021

Предположим, ваша таблица называется Tbl_Fruit, в ячейке A2 вы можете ввести следующую формулу и перетащить ее вниз:

=TEXTJOIN(", ",,UNIQUE(INDEX(Tbl_Fruit[[Fruit 1]:[Fruit 3]],ROW()-1,{1;4;7})))

Кроме того, вы можете ввести следующую формулу в A2:

=TEXTJOIN(", ",,UNIQUE(TRANSPOSE(INDEX(FILTER(Tbl_Fruit[[Fruit 1]:[Fruit 3]],LEFT(Tbl_Fruit[[#Headers],[Fruit 1]:[Fruit 3]],5)="Fruit"),ROW()-1))))
person Terry W    schedule 30.03.2021