Лига помощи Excel

100 постов 911 подписчиков

Популярные теги в сообществе:

Вопрос из ленты «Эксперты»

Вопрос как вытащить данные из ячейки

Есть таблица в формате .csv

Один столбец, в ячейке написано что-то типа

текст 700х500х600 текст

Как преобразовать таблицу, чтобы первый столбец остался неизменным, второй - значение 700, третий - значение 500, четвертый - значение 600. В тексте тоже есть всякие разные цифры.

5

Тупик?

Добрый день!
Может кто растолковать как воплотить в жизнь функцию с такой логикой:

Ячейка А1 с выпадающим списком.
Появилось в ячейке А1 определенное значение и в ячейке А2 на листе1 появился дубликат содержимого ячейки А2 на листе2.

Т.е. что-бы "подтянулось" содержимое одной ячейки в другую из-за того что в ячейке А1 появилось строго определенное значение.

Слияние с word, убрать нули

Всех яростно приветствую. Использую массовую печать документов методом слияния. Понадобилось сбацать документ, где исходная таблица с данными ВэПээРит данные из другого листа, где есть незаполненные ячейки. Соответственно ставит там нули. Как скрыть нули в excel я знаю, но после слияния они вылезают в документе word. Как их побороть в word'е?

4

Синтез 2-х таблиц

Привет. Исходные данные: 2 таблицы, в таблице номер 1 расписание, в таблице номер 2 расходы по маршруту.

Таблица 1

Синтез 2-х таблиц Microsoft Excel, Электронные таблицы, Без рейтинга

Таблица 2 - содержит все возможные расходы (с детализацией) по Типам.

Синтез 2-х таблиц Microsoft Excel, Электронные таблицы, Без рейтинга

Задача собрать все расходы по маршрутам в месяце в другой таблице, с учетом частоты и типа.

Синтез 2-х таблиц Microsoft Excel, Электронные таблицы, Без рейтинга

Проблема - размер таблицы номер 1 не известен, т.е. в колонке А может быть как 20 направлений, так и 30, в колонке J аналогично, может быть всего 5, а может 100.

Сижу голову чешу, ничего в голову не приходит, расписание конечно не безразмерное, но даже если построчно суммировать 20 строк с ВПР, то это может уже перестать работать из-за ограничений кол-ва символов в формуле. А строк может быть и под 50, поэтому хотелось бы найти другое решение. Таблицу номер 1 готовит один отдел, с готовой таблицей будет работать другой. Что можете посоветовать? Можно ли решить вопрос формулами?

Показать полностью 1
3

Проблема в Google таблице

Доброе утро, решил значит сделать google таблицу, личный ежемесячный отчёт, доходов и расходов и сумма (аналитика). И у меня случилась проблема. На первом скриншоте в где написано "кол" и цена не считает сумму. Если я не укажу её вручную. сумма 0. Второй скриншот - это формула.

Показать полностью 2
6

Сводная таблица

Господа, прошу помочь. Прислали мне тут адреса не в нормальном виде Город-Адрес, а в виде сводной таблицы. И теперь надо как-то привести это всё в нормальный вид как указал выше. Как это возможно сделать?

Сводная таблица Microsoft Excel, Помощь
16

Волшебный метод Match

В VBA Excel есть недодокументированный, но очень мощный и полезный метод Application.Match(). Есть метод-близнец WorksheetFunction.Match(). Работают они похожим образом, но возвращают разные результаты.

В VBA-коде лучше использовать именно Application.Match().

С помощью этого метода можно:

  • искать элементы (один или сразу несколько) в одномерных диапазонах и массивах;

  • сравнивать массивы и диапазоны на предмет наличия одинаковых элементов;

  • осуществлять точный и неточный поиск.

Скорость работы Application.Match() значительно выше, чем у циклов, перебирающих элементы массивов или, тем более, ячейки листов Excel.

Отдельно необходимо отметить, что метод этот довольно известный, но, как правило, не используемый на полную мощность. Так, многим неизвестно - и в официальной справке этого нет - что можно искать не одно значение, а массив значений. Также многие продолжают использовать неудобный вариант WorksheetFunction.Match() вместо удобного Application.Match().

С помощью Application.Match() можно, например, организовать, эффективный поиск множества подразделов на листе за одну операцию при обработке таблиц. Это позволяет сильно экономить по времени поиска и по количеству строчек кода. Также довольно просто можно применить этот метод для операций пересечения и сравнения множеств.

Синтаксис:

Application.Match(<что ищем>, <где ищем>, <как ищем>)

<Что ищем> может быть:

  • одно значение - переменная или константа, например «aaa», 123 или ValueToFind, причем различных типов - строка, число, дата, логическое.

    • текстовые значения могут содержать подстановочные знаки * (0+ любых символов),? (один любой символ). Их можно экранировать тильдой ~, если нужно найти именно * или ?

  • одномерный массив Array(«aaa», 123)

  • диапазон листа Excel (строка или столбец) Range("A1:A10"), Range("A1:F1")

<Где ищем> может быть:

  • одномерный массив, содержащий значения различных типов, например, Array(«aaa», 123)

  • диапазон листа Excel (строка или столбец) Range("A1:A10"), Range("A1:F1")

<Как ищем>:

  • 0 - точно. Массив <Где ищем> может быть неупорядоченным (неотсортированным)

  • -1 - поиск наименьшего значения. Массив <Где ищем> должен быть отсортирован по убыванию

  • 1 - поиск наибольшего значения. Массив <Где ищем> должен быть отсортирован по возрастанию

Application.Match() возвращает:

  • если <что ищем> – одно значение, то возвращается одно значение типа Double (индекс найденного значения в массиве, начиная с 1) или значение типа Error (если значение не найдено);

  • если <что ищем> – массив из N элементов, то возвращается массив, содержащий N значений типа Double (индекс найденного значения в массиве, начиная с 1) или значений типа Error (если значение не найдено).

Особенности:

  • если значение не найдено, возвращается значение ошибки #N/A [Error 2042] (метод WorksheetFunction.Match() в этом случае генерирует исключение)

  • поиск текста производится всегда регистронезависимо, т.е. прописные и строчные буквы А и а считаются одинаковыми, и не зависит от установки Option Compare { Binary | Text }

  • при успешном поиске Application.Match() возвращает для каждого искомого значения только первый индекс найденного элемента в <где ищем>. Т.е. если <что ищем> = 2,2 а в <где ищем> находится 2,1,2,2, то результатом будет массив 1,1 - обе двойки найдется в первом индексе.

  • Индексы нумеруются с 1 независимо от установки Option Base { 0 | 1 }.

Примеры применения Application.Match()

1. Ищем несколько текстов, в т.ч. по маске, в массиве:

Волшебный метод Match Microsoft Excel, Vba, Длиннопост, Проба пера

Данный код ищет строки «qqq» (три q или Q подряд) и «a?b» (строка из трех символов, начинающаяся на a или A, заканчивающаяся на b или B с любым символом посередине) в массиве arr, содержащем строки «AAA», «A5A», «Abb».

В результате работы кода в окне Immediate будет напечатано:

Error 2042

3

Этот результат означает, что строка "qqq" не найдена в массиве arr, а "a?b" соответствует третьему элементу "Abb".

2. Ищем значения из столбца A в столбце C:

Волшебный метод Match Microsoft Excel, Vba, Длиннопост, Проба пера

Этот код ищет значения из ячеек колонки A листа Excel в колонке C листа Excel. Результат выводится в цикле с предварительной проверкой, найден ли очередной элемент или нет. Эта проверка производится с помощью функции IsNumeric(), которая возвращает Истину в том случае, если аргумент - число. В том случае, если значение не найдено, в результирующем массиве будет находиться значение ошибки (Error), и IsNumeric() вернет Ложь. Также это можно проверить с помощью функции IsError(), которая возвращает Истину, если аргумент является значением ошибки.

Element 1 is found at index 9

Element 8888 not found (Error 2042)

Element 3 not found (Error 2042)

Element 4 not found (Error 2042)

Element 5 is found at index 4

Element 6 not found (Error 2042)

Element 7 is found at index 10

Element aaa is found at index 6

Element 9 not found (Error 2042)

Element 06.09.2022 is found at index 8

Показать полностью 2

Сколько нужно времени, чтобы уложить теплый пол?

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

1

Нужна помощь по VBA Excel

Всех приветствую! Имеется небольшая программа в excel которая считает дни. Учитывает рабочую пятидневку, исключая субботу и воскресенье с некоторыми условиями. Так-то оно работает, но, нужно чуть подправить, либо чуть дополнить что-бы она ещё и исключала праздничные дни, нерабочие (пишутся списком, исключительно вручную на отдельном листе).

Там в отдельном листе я подробней описал, мне бы только праздничные дни сделать. Буду бесконечно благодарен!

Готов оплатить.

https://cloud.mail.ru/public/aSKF/KFTnR2i8Z

Отличная работа, все прочитано!