Есть ли способ в Excel добраться из точки А в точку Б?

Я хотел бы добраться из точки А в точку Б, как показано ниже. Я думал, что это транспонированное решение, но, похоже, оно работает не так, как предполагалось.

По сути, я пытаюсь найти способ легко собирать данные и управлять ими (пункт А), а затем отображать их определенным образом (пункт Б).

Пытаетесь получить представление о том, как решить эту проблему с помощью Excel или с помощью программирования?

Точка А

Точка Б

Этот вопрос не по теме Stack Overflow. Если вы спрашиваете, как это сделать в Excel, то это вопрос об использовании программного обеспечения, см. SuperUser. Если вы спрашиваете, как это сделать на C#, вам следует выяснить, какие шаги вам нужно выполнить для преобразования данных, прежде чем пытаться создать код.

gunr2171 22.08.2024 00:24

Выполнять это в Excel и C# — это две совершенно разные вещи.

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

Ответы 2

Выполнимо с помощью функции ПОИСКПОЗ:

Допустим, у вас есть первая таблица на Листе Sheet1.

На листе 2 назовите столбцы точно так же, как вы:

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

=IF(SUM(ISNUMBER(MATCH(Sheet1!$A$2:$A$5,$A2,0))*ISNUMBER(MATCH(Sheet1!$B$2:$B$5,B$1,0)))>0,"x","")

Затем перетащите угол ячейки, чтобы заполнить всю таблицу.

Разбивка по ячейке B2

Мы пытаемся проверить, соответствует ли каждая ячейка в столбце A листа Sheet1 содержимому заголовка строки (server1):

MATCH(Sheet1!$A$2:$A$5,$A2,0)

Это оценивается как {1, 1, #N/A, #N/A}.

Затем мы сохраняем только те ячейки, которые являются числами, используя ISNUMBER (обратите внимание на размещение знака $ на $A2, который блокирует столбец, но не строку, чтобы он продолжал указывать на заголовок столбца, когда мы перетаскиваем угол ячейки):

ISNUMBER(MATCH(Sheet1!$A$2:$A$5,$A2,0))

Это оценивается как {TRUE, TRUE, FALSE, FALSE}.

Мы делаем то же самое для заголовка столбца (на этот раз мы блокируем строку B$1, чтобы сохранить заголовок) и перемножаем два массива. В итоге у нас есть {TRUE * TRUE, TRUE * FALSE, FALSE * TRUE, FALSE * FALSE}, который оценивается как {1, 0, 0, 0}.

Мы суммируем все эти числа, используя SUM, и с помощью простого IF мы можем сказать, что если эта сумма равна единице или больше, то я хочу отобразить x.

Это не очень хороший ответ. Хотя это работает, это очень трудоемкое и ручное решение, и оно очень похоже на что-то, созданное LLM.

Michal 22.08.2024 01:35

Я имею в виду, что я сделал все, что мог, извините, если я говорю как ChatGPT, но не нужно грубить. Черт возьми, ИИ в наши дни делает всех параноиками

RomainP 22.08.2024 01:45
Ответ принят как подходящий

Если у вас Excel 365:

=LET(
    serverdata, A2:A5,
    servicesdata, B2:B5,
    servers, UNIQUE(serverdata),
    services, TRANSPOSE(UNIQUE(servicesdata)),
    matchMatrix, IF(COUNTIFS(serverdata, servers, servicesdata, services) > 0, "x", ""),
    VSTACK(HSTACK("", services), HSTACK(servers, matchMatrix))
)

serverdata: ссылка на диапазон ввода сервера.

Servicesdata: ссылка на диапазон входных данных служб.

серверы: извлекайте уникальные имена серверов из данных сервера.

сервисы: извлекайте уникальные имена сервисов из данных сервисов и транспонируйте их в строковый формат.

matchMatrix: проверка каждой комбинации серверов и служб. Если совпадение найдено (т. е. сервер предлагает услугу), поставьте «х»; в противном случае оставьте ячейку пустой.

VSTACK: уложите строку заголовка (услуги) поверх матрицы соответствия, начиная с пустой ячейки.

HSTACK: расположите имена серверов слева от матрицы соответствия.

Заполните x, когда есть совпадение

Есть ли шанс, что вы сможете объяснить суть пятилетнему ребенку?

Rod 22.08.2024 03:57

@Rod - зависит от того, насколько они умны, см. выше.

Michal 22.08.2024 04:27

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