Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

Я хочу превратить (уникальную) функцию в формулу, которая работает следующим образом... =N25:N29+O25:O29+P25:P29+Q25:Q29+R25:R29

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

Это был пример суммирования нескольких значений в формуле, которая делает это для 5 строк одновременно по отдельности. (оно распространяется на другие строки)

Я могу сделать простую версию (уникальной) функции, которая работает для одной строки, вот так...

=UNIQUE(N38:R38,TRUE,TRUE)

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

я могу (скопировать/вставить) функцию для других строк, но я не хочу, чтобы это было так, мне нужна формула, которая делает это для нескольких строк одновременно отдельно, как суммирование, которое я сделал в первом примере. (я хочу, чтобы это перекинуться на другие строки)

кто-нибудь знает, как это сделать?

Я пробовал так, но не получилось...

=UNIQUE(N32:N36&O32:O36&P32:P36&Q32:Q36&R32:R36,TRUE,TRUE)

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?

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

Ответы 4

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

Возможно, вы имеете в виду что-то в этом роде:

Формула в H3:

=IFNA(DROP(LET(α,B3:F7,REDUCE(0,SEQUENCE(ROWS(α)),LAMBDA(β,γ,VSTACK(β,IFERROR(UNIQUE(TOROW(INDEX(α,γ,0),1),1,1),""))))),1),"")

Примечание. Теперь вы удалили значения, которые появлялись в исходных строках более одного раза в соответствии с вашей собственной попыткой с помощью UNIQUE(arr,1,1).

То же самое можно было бы сделать, используя MAKEARRAY:

=LET(range,A2:E6,MAKEARRAY(ROWS(range),COLUMNS(range),LAMBDA(r,c,LET(i,INDEX(range,r,), IFERROR(INDEX(UNIQUE(FILTER(i,i<>""),1,1),c),"")))))

Где мы сначала объявляем range и создаем массив того же размера.

Затем с помощью i мы перебираем диапазон по строкам. Мы фильтруем значения строк, удаляя пробелы, и применяем УНИКАЛЬНУЮ формулу, которую вы задумали. Мы индексируем результат, чтобы вернуть одно значение из вычисленных уникальных значений (позиция c).

Если позиция выходит за пределы ссылки на вычисляемый массив, будет возвращена #REF-ошибка. Мы превращаем их в пробелы, используя ЕСЛИОШИБКА.

Вот еще одна альтернатива с использованием функций REDUCE():


• Формула, используемая в ячейке H2

=LET(
     α, B3:F7,
     δ, IFNA(REDUCE(B2:F2,SEQUENCE(COLUMNS(α)),LAMBDA(r,c,
     VSTACK(r,UNIQUE(CHOOSEROWS(α,c),1,1)))),""),
     IF(δ=0,"",δ))

Вместо INDEX() можно также использовать CHOOSEROWS().

=LET(
     α, B3:F7,
     δ, IFNA(REDUCE(B2:F2,SEQUENCE(COLUMNS(α)),LAMBDA(r,c,
        VSTACK(r,UNIQUE(INDEX(α,c,),1,1)))),""),
     IF(δ=0,"",δ))

Та же основная логика, что и у JvdV и Маюха, немного многословная:

=LAMBDA(data,
    LET(
        num_cols, COLUMNS(data),
        once_only, LAMBDA(values,
            LET(
                values_wo_blanks, TOROW(values, 1),
                IFERROR(UNIQUE(values_wo_blanks, TRUE, TRUE), "")
            )
        ),
        REDUCE(
            CHOOSEROWS(data, 1),
            SEQUENCE(ROWS(data)),
            LAMBDA(acc_rows, cur_row,
                IF(
                    cur_row = 1,
                    acc_rows,
                    VSTACK(
                        acc_rows,
                        EXPAND(
                            once_only(CHOOSEROWS(data, cur_row)),
                            ,
                            num_cols,
                            ""
                        )
                    )
                )
            )
        )
    )
)(B2:F7)

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