Превратить таблицу в список

У меня есть таблица того, чего людям не хватает каждый месяц, и чего им не хватает (отмечено как отсутствующее) или у них есть (отмечено знаком «X»), или, если парень в это время не работал, там написано, что не работает. .

Это макет таблицы Раскладка стола

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

Year 2023
Worker1_name
NÒMINA:(Months missing here)
REGISTRE DE JORNADA:(Months missing here)

Year 2023
Worker2_name
...

И так далее и тому подобное, хотя я не знаю, возможно ли это.

Месяц АГИЛЕРА АВИЛА, РАФАЭЛЬ АНГИТА МАРТИН, МАРТА АУМЕДЕС САНЧЕС, ЖОЗЕП Мª ХИНЕСТА АЛЬВАРЕС ДЕ ЛАРА, Мª.ДОЛОРЕС ГРИМАЛЬ РИБОТ, ЛЬУИС ЭРНАНДЕС ФУЭНТЕС, ДОЛОРЕС ИЛЛА ФОНТ, АДРИА ЛОПЕС ГЕРРЕРО, АЛЕКСИС ЛОПЕС РУИС, ХАВЬЕР МАРТИНЕС РЕШЕ, ХОАКИН НУНЬЕС ИДАЛЬГО, ЛУИС РУИС ФЕРНАНДО, МИРЕЯ САНЧЕС РИО-ВАЛЬЕ, МАНУЭЛЬ ДИЕГО ТАМБАДУ, ЮСУФА ВАЛЕНСУЭЛА МОНТОРЕ, ИИСУС ВЕРА ВИКО, ХОЗЕ ВЕРДУГЕС ЭНСИНАС, ВИКТОР РОНАЛЬД ВАГГЕ САВАНЕ, МОХАМЕД КИССИМА ЯН НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Отсутствующий Икс Икс Икс ЯН РЕГИСТР ДЕ ХОРНАДА Отсутствующий Икс Отсутствующий Отсутствующий Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий ФЕВРАЛЬ НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Отсутствующий Икс Икс Икс РЕГИСТРАЦИЯ ФЕВРАЛЯ ДЕ ХОРНАДА Отсутствующий Икс Отсутствующий Отсутствующий Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий МАР НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Отсутствующий Икс Икс Икс МАР РЕГИСТРАЦИЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий АПРЕЛЬ НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Отсутствующий Икс Икс Икс АПРЕЛЬСКИЙ РЕГИСТР ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий МАЙ НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Отсутствующий Икс Икс Икс МОЖЕТ ЗАРЕГИСТРИРОВАТЬСЯ ДЕ ХОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий ДЖУН НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Икс Икс Икс Икс ИЮНЬСКАЯ РЕГИСТРАЦИЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Икс Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий ИЮЛ НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Не работает Икс Икс Икс Икс Икс ИЮЛЬ РЕГИСТРАЦИЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий АУГ НЕМИНА Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий Икс Отсутствующий Не работает Икс Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий АВГУСТСКАЯ РЕГИСТРАЦИЯ ХОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий СЭП НЕМИНА Отсутствующий Икс Икс Икс Икс Отсутствующий Икс Не работает Икс Икс Икс Не работает Икс Икс Икс Икс Икс СЕНТЯБРЬСКАЯ РЕГИСТРАЦИЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий ОКТ НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Не работает Икс Отсутствующий Икс Не работает Икс Икс Икс Икс Икс РЕГИСТРАЦИЯ ОКТЯБРЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий НОЯНЬЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Икс Не работает Икс Икс Икс Икс Икс НОЯБРЬСКАЯ РЕГИСТРАЦИЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий ДЕК НЕМИНА Отсутствующий Икс Икс Икс Икс Икс Икс Не работает Икс Икс Икс Икс Не работает Икс Икс Икс Икс Икс РЕГИСТРАЦИЯ ДЕКАБРЯ ЖОРНАДА Отсутствующий Икс Икс Икс Икс Икс Отсутствующий Не работает Отсутствующий Отсутствующий Отсутствующий Икс Не работает Отсутствующий Отсутствующий Отсутствующий Отсутствующий Отсутствующий

Разве это не просто функция ВПР?

Wimanicesir 18.07.2024 12:39

@Wimanicesir Я все еще учусь, так что не знаю, что это такое, ха-ха-ха

Soku 18.07.2024 12:43
Вот краткое описаниеVLOOKUP и других подобных функций.
cybernetic.nomad 18.07.2024 15:42

Это не будет виртуальный поиск, потому что ОП, по-видимому, запрашивает все месяцы, которые рабочий отсутствовал в таблице. Я думаю, это будет функция фильтра, основанная на имени работника и текстовом объединении в одну ячейку.

Mark S. 18.07.2024 16:24

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

nkalvi 18.07.2024 23:38

@nkalvi готово (думаю)

Soku 19.07.2024 16:36
stackoverflow.com/help/someone-answers | кстати, после редактирования ОП вопрос кажется гораздо более доступным. хорошие правки.
p._phidot_ 22.07.2024 10:54
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
2
7
81
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Вот быстрая попытка; Я не знаю, как получить годы, поэтому использовал фиксированную строку. Для этого требуется Microsoft 365. Вы можете проверить шаги, изменив result на months, register и т. д. Найдите ссылки на LET, LAMBDA и т. д. здесь: Функция LET — Служба поддержки Microsoft

Введите следующее в первую ячейку для получения результатов:

=LET(
    header, A3:T3,
    payroll_data, A4:T26,
    comment_1, "Take first row, drop the first column when needed",
    employee_names, DROP(header, , 1),
    months, TEXTBEFORE(CHOOSECOLS(payroll_data, 1), " "),
    register, TEXTAFTER(CHOOSECOLS(payroll_data, 1), " "),
    result, REDUCE(
        "Missing months for employees",
        DROP(employee_names, , 1),
        LAMBDA(list, name,
            LET(
                is_missing, CHOOSECOLS(payroll_data, XMATCH(name, employee_names)) =
                    "Missing",
                missing_months, LAMBDA(name, for_register,
                    for_register & ": " &
                        ARRAYTOTEXT(
                            FILTER(months, (register = for_register) * is_missing, "--")
                        )
                ),
                VSTACK(
                    list,
                    VSTACK(
                        "Year 2023",
                        name,
                        missing_months(name, "NÒMINA"),
                        missing_months(name, "REGISTRE DE JORNADA"),
                        ""
                    )
                )
            )
        )
    ),
    result
)

В качестве альтернативы вы можете использовать эту формулу, которая возвращает тот же результат на моем листе:

=REDUCE("Missing months for employees",SEQUENCE(,COLUMNS(B1:S1)),
LAMBDA(u,v,VSTACK(u,VSTACK("Year 2023",INDEX(B1:S1,,v),
IFERROR("NÒMINA : "&TEXTJOIN(" ",,TEXTBEFORE(FILTER(A2:A25, 
(CHOOSECOLS(B2:S25,v) = "Missing")*
(ISNUMBER(SEARCH("NÒMINA",A2:A25))))," ")),"NÒMINA : "),
IFERROR("REGISTRE DE JORNADA : "&TEXTJOIN(" ",,TEXTBEFORE(FILTER(A2:A25, 
(CHOOSECOLS(B2:S25,v) = "Missing")*(ISNUMBER(SEARCH("REGISTRE DE 
JORNADA",A2:A25))))," ")),"REGISTRE DE JORNADA :"),""))))

При копировании на мой лист не были показаны недостающие месяцы «REGISTRE DE JORNADA», но это было исправлено, когда я попытался улучшить его внешний вид с помощью интервалов и формата. В итоге это как-то исправили

Soku 23.07.2024 08:55

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