Ответы пользователя по тегу Excel
  • В Excel строки в столбец?

    @anoriyuriy
    1. Решение формулами
    1.1 В C3, допустим, создадим служебный столбец. Вводим 2 - это номер первой значимой строки. В C4 вводим
    =C3+3 - это шаг наших данных.
    Тянем вниз с запасом.
    664a2f2fa6524051150256.png
    1.2 Создаем область вывода: столбцы Результат1, 2, 3:
    Вводим в первую ячейку области вывода формулу: =ДВССЫЛ("A"&$C3+СТОЛБЕЦ()-5)
    Формула написана с привязкой к задействованным на листе диапазонам, поэтому, если у вас по другому - меняйте ссылки и константы в формулах
    664a30b57e601572694091.png
    1.3 Протягивайте формулу вправо и вниз
    664a30feba19b854475535.png
    Готово!

    2. Решение с помощью Power Query - помощнее и универсальнее
    2.1 Выделить диапазон, перейти на вкладку Данные, выбрать пункт Из таблицы/диапазона
    664a3319bf760887228425.png
    Видим такое
    664a334d6912e255502243.png
    Рекомендую отменить автоматический шаг и нажать крестик у шага Измененный тип в области справа
    664a33907aa31315883160.png
    2.2 Перейти на вкладку Добавление столбца, нажать стрелочку на кнопке Столбец индекса, выбрать От 0. Получаем вот такое
    664a357dec3e4645653315.png
    2.3 На той же вкладке раскрываем кнопку Стандартные и выбираем Остаток от деления Вводим параметр 3.
    664a35dae2a92825393248.png
    Нажимаем OK
    2.4 Переходим на вкладку Преобразование и, выделив столбец Остаток от деления нажимаем кнопку Столбец сведения. В качестве столбца значений выбираем исходный, функция - Не агрегировать.
    664a3704969dc733482977.png
    2.5 Выделить три появившихся столбца, и нажать кнопку Заполнить - Вверх
    664a3da56de78320638411.png
    2.6 Правая кнопка мыши по последнему столбцу - Удалить дубликаты
    664a3de3a2346456592408.png
    2.7 Дальше выделить первый столбец (кликом по заголовку), на вкладке Главная нажать кнопку Удалить столбцы или Delete на клавиатуре
    664a3f1817a55082112756.png
    Нажать Закрыть и загрузить
    664a3f998ccfd911970457.png
    Готово!
    664a3fac65843294038598.png
    Ответ написан
    Комментировать
  • Сортировка по нескольким значениям в колонке?

    @anoriyuriy
    Здравствуйте!
    Без примеров "как есть - как нужно" не очень понятно, но думаю что понял задачу.
    Недавно сталкивался с такой задачей, в рамках работы по унификации одного каталога, более чем на 100к строк. Но там не требовалось слишком много критериев, хотя решение подойдет и если их 50, в том числе.

    Создал модель, заполненную случайными данными - категория (наш целевой столбец) и столбец со случайными числовыми значениями. Для иллюстрации добавляю столбец с количеством символов в ячейке (длиной строки).

    640745e952170020061869.png

    В первую, пятую и десятую строки вкрапляем интересующие ключевые слова с разными окончаниями "пчел", "театр", "ткан".

    Ключевые слова в тексте

    640745fc6df1d270418391.png
    64074606a1a16357678612.png
    6407460f0faa1867908879.png

    После столбца "Категории" добавляем 4 (или сколько потребуется) столбцов. У первых трех в заголовке пусто, а у последнего "Любая фраза".

    В первом столбце в первой строке вводим формулу

    =ЕСЛИ(ЕЧИСЛО(ПОИСК(C$1;$B2));1;0)

    Протягиваем вправо на три столбца с пустыми заголовками. В первой строке в столбце "Любая фраза" пишем формулу

    =СУММ(C2:E2)

    Протягиваем первую строку добавленных столбцов до конца таблицы.
    6407474babfdf668171336.png

    Рекомендую отключать отображение нулей в ячейках
    640746dacf601726389762.png
    После этого вы вписываете в заголовки ваши искомые ключевые фразы
    64074770d7fb1105032097.png
    И фильтруете ненулевые значения в столбце "Любая фраза"
    6407477b6b6c6042721206.png

    Update 08.03.2023:
    Для пользователей, кто не понял как исключить ложные срабатывания на пустые ячейки, если вы ищете по одному-двум критериям, а не трем: вписываете в незадействованные ячейки абракадабру или любое содержимое, которое точно не встретится в тексте, например "@@@@@"
    Ответ написан
    4 комментария
  • Как на месте пробела в ячейках сделать перенос на следующую строку?

    @anoriyuriy
    Здравствуйте!
    Решение простое:
    =ПОДСТАВИТЬ(A1;" ";СИМВОЛ(10))
    Ввод:
    62d3423dd4f18369934243.png
    Результат:
    62d3425fe6584107739865.png
    Ответ написан
    Комментировать
  • Как добавить текст из одной ячейки в другую между символами?

    @anoriyuriy
    Задача невероятно примитивна, учитывая пояснение автора о том, что в первом столбце всегда одинаковая разметка.
    Есть 1, 1.1, 2 решения
    1. =СЦЕПИТЬ(A3;B3;C3)
    1.1. =A9&B9&C9
    2. =ЛЕВСИМВ(A16;ПОИСК("</div>";A16)-1)&B16&"</div>"
    Последний вариант, при разных div'ах хотя бы сработает и прицепит к ним всегда одинаковый закрывающий div., иначе совсем-совсем примитив. Ну а первые варианты — это самое банальное, что и следует сделать, разделить на три столбца (хотя, опять же, при статичном закрывающем div третий столбец-то и не нужен)
    62d3381345aa0102624268.png
    Ответ написан
    Комментировать
  • Как удалить слово после слово upload/ в exel?

    @anoriyuriy
    Если символов после iblock всегда три, то проще простого:
    ="/upload/"&ПСТР(A1;ПОИСК("iblock/";A1)+11;100)
    Ввод:
    62d33016f3808730469659.png
    Результат протягивания:
    62d3302c174fd556621047.png
    Ответ написан
    Комментировать
  • Как быстро уникализировать имена столбцов?

    @anoriyuriy
    Здравствуйте!
    Поскольку вам нужно разовое решение, я, как формулист, посоветовал бы такой вариант:

    1. Ввести временную техническую строку, для генерации заголовков, например третью (или за итогами таблицы, это не принципиально)
    2. Ввести в первый столбец технической строки формулу
    =ЕСЛИ(СЧЁТЕСЛИ($A$1:$G$1;A1)>1;A1&" — "&СЧЁТЕСЛИ($A$1:A1;A1);A1)

    62d31e0d64674739422172.png
    3. Протянуть ее до последнего столбца
    62d31e18b9175255549221.png
    4. Полученную строку вставить значениями вместо заголовков

    Откат или задел на будущее
    Для того, чтобы в будущем иметь возможность обратить данную процедуру, применяйте для отделения номера символ, который точно не будет использоваться в теле заголовка, например тире "—" (ALT+num0151 на клавиатуре).

    Тогда в будущем вы сможете отсечь ранее сделанную таким способом нумерацию, с помощью функции ЛЕВСИМВ и ПОИСК вот так:
    формула:
    =ЕСЛИ(ЕЧИСЛО(ПОИСК("—";A3));ЛЕВСИМВ(A3;ПОИСК(" — ";A3)-1);A3)

    ввод
    62d32033e73a4075913790.png
    результат протягивания
    62d32048e8d6d584456199.png
    и повторить для вновь обезличенных столбцов процедуру из пунктов 1-4
    Ответ написан
    Комментировать
  • Как разделить ячейки после 1 знака разделения?

    @anoriyuriy
    Здравствуйте!
    Формулы, при условии что содержимое в ячейке A1 (соответственно измените на нужную вам)

    До первого пробела:
    =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)

    После первого пробела и дальше:
    =ПСТР(A1;ПОИСК(" ";A1)+1;1000)

    На прикрепленном изображении результаты формул с соответствующими формулами под ними:
    61d1bf9a42db6493851999.png
    Ответ написан
    Комментировать
  • Есть ли функция в excel нахождения подстроки в строке?

    @anoriyuriy
    Желательно приложить минимально воспроизводимый пример.
    То есть: Как сейчас - Как надо

    По описанию, проблема решается просто. И формулой и условным форматированием, если действительно нужно именно выделить.

    Решение формулой

    Если в столбце A строка, в столбце B подстрока, то в C можно применить эту формулу:
    =ЕСЛИ(ЕЧИСЛО(ПОИСК(B2;A2));"содержится";"не содержится")

    60c112a72505c908594466.png

    Данная формула не содержит контроля пустой ячейки в столбце B. Его можно добавить, чтобы исключить ложные срабатывания:
    =ЕСЛИ(B2<>"";ЕСЛИ(ЕЧИСЛО(ПОИСК(B2;A2));"содержится";"не содержится");"цвет не указан!")

    60c1138f21a88953767032.png

    Решение условным форматированием

    Выбираете "Условное форматирование" - "Создать правило" - "Использовать формулу для определения форматируемых ячеек" . Ввести такую формулу:
    =ЕСЛИ(ЕЧИСЛО(ПОИСК($B2;$A2));ИСТИНА;ЛОЖЬ)
    В "Применяется к" указать нужный диапазон: =$A$2:$A$5
    Результат будет выглядеть так:
    60c117bf20a72392353201.png
    Ответ написан
    2 комментария
  • Как найти значение в таблице и подставить его в другую?

    @anoriyuriy
    Здравствуйте!

    В ячейке K3 стоит сумма, а в формуле ВПР первым столбцом является B, соответственно, формула ищет значение 50000 в столбце B и не находит его там, так как суммы в столбце E. Возможно, вы хотели искать сумму по имени.

    Вообще можно использовать, вместо функции ВПР, функцию ИНДЕКС, тогда вы не будете привязаны к первому столбцу и вообще к порядку столбцов.
    Тогда, чтобы найти сумму по имени, можно использовать следующую формулу:

    =ИНДЕКС(E3:E21;ПОИСКПОЗ(K4;B3:B21;0))

    Если нужно найти имя по сумме, то формула будет такая:

    =ИНДЕКС(B3:B21;ПОИСКПОЗ(K3;E3:E21;0))

    Если вам требуется найти что-то другое, пожалуйста, уточните. Из примера я не смог понять, что вы хотели найти формулой
    Ответ написан
    Комментировать