Функция карты — вложенные массивы не поддерживаются

Лист анализа сейчас выглядит так. Извините, что этого нет в разметке.

У меня есть список месяцев в столбце A, количество повторяющихся ретро-номеров по старению в столбце B, повторяющиеся номера случаев старения в столбце C. Столбец C работает и извлекает информацию из моей таблицы данных - и я использовал столбец C для своих актуальный отчет.

В столбцах от E до N (и далее) указаны номера дел, по которым в определенном месяце были получены платежи по конкретному соглашению, но задача состоит в том, чтобы определить, какие из них получили дубликаты. И мы получаем это путем сравнения тех, кто получил ретро-платежи в том же месяце. Кроме того, они кажутся неправильно выровненными.

Причина вопроса в том, что мне бы очень хотелось иметь возможность просматривать столбец C и условно форматировать мою таблицу данных, хранящуюся на другом листе, чтобы можно было выделить номера случаев на этом листе; эти номера дел являются дубликатами, их необходимо идентифицировать и предпринять соответствующие корректирующие действия. В нынешнем виде я вручную фильтрую таблицу данных по этим числам и предпочитаю этого не делать.

Я хотел иметь возможность объединить все эти числа в один массив, чтобы затем можно было использовать условное форматирование для моей таблицы данных, чтобы сказать: «Находится ли число в моей таблице данных в списке дубликатов?» Если да, отформатируйте его.

Смотрите исходные данные. Например, вы можете видеть, что номер дела 13138858 появляется дважды и имеет ненулевое число в «ретро» и ненулевое число в одном и том же месяце (август). Это означает, что это повторяющееся событие, и мне нужно это отследить. Однако число 9556 появляется дважды, но не соответствует этим критериям; это просто означает, что на этот счет в течение двух разных периодов произошло два платежа, ни один из которых не был ретро-платежом. Ретро-единицы могут быть 1, -1 или 0; единицы «месяца» могут быть 1, -1 или 0, но меня волнует только тот случай, когда ретро-единицы и месячные единицы для этого конкретного номера случая не равны нулю в течение одного и того же месяца.

Номер дела Дата начала ретро Дата окончания ретро Ретро юниты Декабрь ноябрь Октябрь Сентябрь Август Июль Июнь Может апрель Маршировать 1857460 1 мая 24 31-мая-24 1 1 1858575 1 апреля 24 г. 30 апреля 24 года 1 1 1858575 1 апреля 24 г. 30 июня 24 1 1 1 1 1892043 1 марта 24 31 марта 24 1 1 1892043 1 марта 24 30 июня 24 1 1 1 1 1 1893337 1 марта 24 30 июня 24 1 1 1 1 1 1893337 1 марта 24 31 марта 24 1 1 1896176 1 апреля 24 г. 30 апреля 24 года 1 1 1896176 1 апреля 24 г. 30 июня 24 1 1 1 1 13102088 1 июня 24 30 июня 24 1 1 13102088 1 июня 24 30 июня 24 1 1 13138858 1 июня 24 30 июня 24 1 1 13138858 1 июня 24 30 июня 24 1 1 9556 1 января 22 31 мая 22 0 9556 1 июня 21 31 октября 21 0 12678 1 марта 24 30 июня 24 0 0 0 0 0 12678 1 мая 24 30 июня 24 0 0 0 12678 1 июня 24 30 июня 24 0 0 13465 1 марта 24 30 июня 24 0 0 0 0 0

Попробуйте использовать REDUCE(): =DROP(IFNA(REDUCE("",A8#,LAMBDA(r,c,VSTACK(r,IFNA(TOROW(INDE‌​X(FILTER(July24_Deta‌​ils_1,July24_Details‌​_1[Retro Units]*INDEX(July24_Details_1,,XMATCH(c,July24_Details_1[#He‌​aders]))),,XMATCH(Ju‌​ly24_Details_1[[#Hea‌​ders],[Case Number]],July24_Details_1[#Headers]))),"")))),""),1)

Mayukh Bhattacharya 02.08.2024 18:38

Кстати, можно ли в этом случае упростить до FILTER(July24_Details_1[Case Number] вместо CHOOSECOLS(FILTER(July24_Details_1, ... XMATCH(July24_Details_1[[#Headers],[Case Number]],July24_Details_1[#Headers])?

nkalvi 02.08.2024 19:47

Я получил отрицательный голос и комментарий: «Не повторяйте этого постоянно. Когда кто-то публикует сообщение, есть какая-то причина, вы спрашивали этого человека, прежде чем публиковать ответ? Почему вы всегда это делаете?» Мои искренние извинения всем, кого обидели мои ответы. Я не знаю, нужно ли мне спрашивать человека, разместившего ответ, прежде чем публиковать мой.

nkalvi 02.08.2024 20:08

Зачем мне копировать ваши ответы?

nkalvi 02.08.2024 20:12

Знаете, что я имел в виду под копированием. Изменение имени переменных не меняет ответ. Хотите, чтобы я показал все ссылки и в одних и тех же ответах?

Mayukh Bhattacharya 02.08.2024 20:15

спасибо вам обоим и @nkalvi за вашу помощь. Я опробовал все вышеперечисленные формулы в своем наборе данных, но не получил правильного результата (сейчас для меня это слишком сложно), и я не могу поделиться слишком большим количеством информации, не рискуя ненадлежащим раскрытием личной информации.

bdpolinsky 02.08.2024 20:18

Я до сих пор не понимаю, почему вы думаете, что мне нужно копировать ваши ответы, меняя имена и т. д. Что кто-то выиграет, сделав такое, то есть намеренно?

nkalvi 02.08.2024 20:20

Тогда что это: stackoverflow.com/a/78826545/8162520 это ваш ответ и посмотрите мой ответ, и хотите ли вы увидеть те ваши ответы, которые вы удалили.

Mayukh Bhattacharya 02.08.2024 20:21

Мне не нужно просматривать ваши ответы, чтобы найти ответы самостоятельно. Но поскольку в некоторых случаях есть сходство, и вы, похоже, обижаетесь на такое сходство, я удалил те, где, по моему мнению, не добавляю ничего нового. Я также удивлен, что вы думаете, что кто-то не может самостоятельно найти ответы, подобные вашим.

nkalvi 02.08.2024 20:26

Видите ли, я не хочу вдаваться в какие-то необоснованные аргументы, очень легко сказать, что я еще не видел ваших ответов, я упоминаю ваше имя, в ответах смотрите время ответов. если бы у вас был собственный ответ, вам следовало опубликовать его задолго до моего комментария, а не только это, как вы всегда делаете в большинстве своих ответов.

Mayukh Bhattacharya 02.08.2024 20:36

Привет, я обновил ОП.

bdpolinsky 02.08.2024 20:36

Какой источник? Источник данных?

bdpolinsky 02.08.2024 20:43
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
12
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

• Использование MAP()


=LET(
 _Head, July24_Details_1[#Headers],
 _Output, MAP(A8#, LAMBDA(a, LET(b, INDEX(July24_Details_1,,XMATCH(a, _Head)),
                    c, XMATCH(July24_Details_1[[#Headers],[Case Number]],_Head),
          TEXTJOIN(", ",1,IFNA(INDEX(FILTER(July24_Details_1, July24_Details_1[Retro Units]*b),,c),""))))),
 _Delim, SEQUENCE(,MAX(LEN(_Output)-LEN(SUBSTITUTE(_Output,",",))+1)),
 IFERROR(TEXTSPLIT(TEXTAFTER(","&_Output,",",_Delim),",",,1),""))

• Или используйте REDUCE()

=LET(
     _Head, July24_Details_1[#Headers],
     DROP(IFNA(REDUCE("",A8#,LAMBDA(r,c,VSTACK(r,
     IFNA(TOROW(INDEX(FILTER(July24_Details_1,July24_Details_1[Retro Units]*INDEX(July24_Details_1,,XMATCH(c,_Head))),,
     XMATCH(July24_Details_1[[#Headers],[Case Number]],_Head))),"")))),""),1))

Обновлено: обновленное решение. Новое редактирование каждого ОП после публикации решения, которое работало в данном контексте в ОП:


=LET(
 _Output, BYROW(A23#,LAMBDA(a, LET(
          b, TOROW(XMATCH(a,Table4[#Headers]),2),
          c, CHOOSECOLS(Table4,b),
          d, c*Table4[Retro Units],
          TEXTJOIN(", ",1,IFERROR(UNIQUE(FILTER(Table4[Case Number],d)),""))))),
 _Delim, SEQUENCE(,MAX(LEN(_Output)-LEN(SUBSTITUTE(_Output,",",))+1)),
 IFERROR(TEXTSPLIT(TEXTAFTER(","&_Output,",",_Delim),","),""))

Используя MAP():

=LET(
 _Output, MAP(A23#,LAMBDA(a, LET(
          b, TOROW(XMATCH(a,Table4[#Headers]),2),
          c, CHOOSECOLS(Table4,b),
          d, c*Table4[Retro Units],
          TEXTJOIN(", ",1,IFERROR(UNIQUE(FILTER(Table4[Case Number],d)),""))))),
 _Delim, SEQUENCE(,MAX(LEN(_Output)-LEN(SUBSTITUTE(_Output,",",))+1)),
 IFERROR(TEXTSPLIT(TEXTAFTER(","&_Output,",",_Delim),","),""))

Мне интересно идентифицировать дубликаты на основе

когда ретро-единицы и месячные единицы для этого конкретного номера случая не равны нулю в течение одного и того же месяца

мы могли бы выразить это с помощью is_duplicate =

=LET(
    month_units, IFERROR(
        BYROW(July24_Details_1[[November]:[June]], OR),
        0
    ),
    (July24_Details_1[Retro Units] * month_units) = 1
)

BYROW(July24_Details_1[[November]:[June]], OR) дает TRUE, если в каком-то из месяцев было 1.

(пожалуйста, измените [November]:[June] в соответствии с вашими данными)

Затем мы могли бы добавить это в диспетчер имен и использовать для условного форматирования.

Пожалуйста, дайте мне знать, если я неправильно понял логику - я удалю ответ.

Другие вопросы по теме