Лингвофорум

Общий раздел => Наука и техника => Компьютеры => Тема начата: Rusiok от апреля 15, 2016, 22:02

Название: Excel
Отправлено: Rusiok от апреля 15, 2016, 22:02
Пользуюсь самодельным планировщиком заданий в Эксцеле. Ну, там формулы дат типа каждая вторая среда чётного месяца или последний день месяца, начинающего квартал; выбор/классификация оснований для выполнения, заданий и результатов выполнения по ключевым словам; автоматические подсчёты количеств за периоды времени, средних значений, построение графиков и т.д. Увидел у коллеги с другого предприятия ещё более функциональную папку с файлами. Но часто приходится долго придумывать, с помощью каких формул в ячейках получить нужный результат.
Название: Excel
Отправлено: Bhudh от апреля 15, 2016, 22:06
Функции «Номер недели в году»/«Номер недели в месяце» разве нет?
Название: Excel
Отправлено: Upliner от апреля 15, 2016, 22:26
Цитата: Bhudh от апреля 15, 2016, 22:06
Функции «Номер недели в году»/«Номер недели в месяце» разве нет?
Первая есть, второе и без функции нетрудно посчитать.
Если честно, я вообще не понял, о чём тема, никакой конкретики.
Название: Excel
Отправлено: Rusiok от апреля 15, 2016, 23:35
Ну, о своих "достижениях" я написал для показа своего невысокого, но не нулевого уровня владения эксцелем, например, с назначением таких дат я справился.

Вот текущие вопросы.
1) Некий лист содержит пару сотен столбцов (каждый с уникальным именем) и десятки тысяч строк. В определенных столбцах ячейки пустые или содержат тексты "+" (понятно, что каждый такой текст можно быстро вручную заменить на имена столбцов). Создал еще один столбец. Требуется в каждой строке заполнить ячейку этого нового столбца текстом, состоящим из  имён столбцов перечисленных непустых ячеек.
2) далее, тексты в некоторых из находящихся друг под другом ячеек двух и более строк будут одинаковые. Если так, то надо оставить только одну из этих строк, но объединить в одну ячейку тексты из других находящихся друг под другом ячеек.
Название: Excel
Отправлено: Upliner от апреля 16, 2016, 13:33
Второе точно без VBA не сделать, первое скорее всего тоже. Понадобится хотя бы простая функция конкатенации, т.к. стандартная concatenate не принимает диапазоны ячеек. Думаю, вам поможет предложенная здесь функция ConcatIf: http://www.mrexcel.com/forum/excel-questions/365691-concatenate-multiple-cells-array-formula.html
Название: Excel
Отправлено: Rusiok от апреля 18, 2016, 11:44
Цитата: Upliner от апреля 16, 2016, 13:33
без VBA не сделать, первое скорее всего тоже. Понадобится хотя бы простая функция конкатенации, т.к. стандартная concatenate не принимает диапазоны ячеек
Оказывается число ячеек в формуле =A1&B1&C1... не может быть более 32. Поэтому конкатенировал в два этапа: сначала по 32 ячейки, затем результаты в одну. Ну, и на каждом этапе заменял результат вычисления значением.
Название: Excel
Отправлено: Upliner от апреля 18, 2016, 12:12
Цитата: Rusiok от апреля 18, 2016, 11:44
Оказывается число ячеек в формуле =A1&B1&C1... не может быть более 32. Поэтому конкатенировал в два этапа: сначала по 32 ячейки, затем результаты в одну. Ну, и на каждом этапе заменял результат вычисления значением.
Вроде пишут, что функция CONTATENATE() может принимать до 255 аргументов, и это единственное её отличие от оператора &
Кстати, я кажется неправильно понял второй пункт. Мне показалось, что нужно сделать реальный Merge Cells, если значения в соседних двух ячейках совпадает. Если не надо -- то это конечно реализуется без VBA.
Название: Excel
Отправлено: Lodur от апреля 18, 2016, 14:44
Цитата: Upliner от апреля 18, 2016, 12:12CONTATENATE()
Опечатка.
CONCATENATE()
Название: Excel
Отправлено: true от июля 9, 2019, 10:23
Кто знает, как убрать из ячеек без данных эту абракадабру? То есть, если цифры не вводить, то должна отображаться просто пустая ячейка

Название: Excel
Отправлено: Upliner от июля 9, 2019, 11:52
Разве что так: ЕСЛИ(C8=0;"";(оригинальная формула))
Название: Excel
Отправлено: Awwal12 от июля 9, 2019, 11:59
Цитата: Upliner от июля  9, 2019, 11:52
Разве что так: ЕСЛИ(C8=0;"";(оригинальная формула))
Семён Семёныч...  :3tfu:
ЕСЛИОШИБКА(D8*100/C8;"") и т.п.
Название: Excel
Отправлено: true от июля 10, 2019, 07:18
Напишите как эта формула будет выглядеть полностью, пожалуйста, а то я тупой совсем в этой программе  :-[

P.S. О, разобрался! :=
Спасибо :UU: