Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Макрос для Гугл-таблицы, макрос предоставления прав редактирования
 
Добрый день!
Не уверен что Гугл-таблицы относятся к специалистам ПланетыЭксель, но всё равно попробую.
Идея такая. Имеется документ с кучей листов и одновременно работающих пользователей. Часть листов и диапазонов защищена от редактирования. Прописывать каждому отдельному пользователю права доступа муторно.
Хотелось бы иметь возможность на отдельном защищенном листе прописывать "Список" пользователей, которым в "Правах" открывался бы определённый доступ на редактирование.

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

В том и суть что из разных программ выгружаются документы по разному, и как итог количество столбцов и строк разнится. Столбцов может быть от 9 до 30. Число строк тоже не угадаешь.

И документ нужен больше сотрудницам чем мне. Я всё к одному стандарту привожу, и мне поиск не нужен. А у них хаос всегда. Вот и надо было сделать так, чтобы они не вникая в функционал могли в заголовках вводить, то что им нужно для поиска и получать результат. И под каждую не настраивать где и что искать.
суммаесли с поиском столбца в котором суммировать
 
О, чудо! )))
Поюзал в разных вариантах, работает. Верил же, что должен быть более простой вариант!
Огромное спасибо!!!! Теперь буду изучать логику этой формулы и диапазона.

Спасибо за работу, потраченное время и показанный вариант работы.
Изменено: mugivara - 11.11.2022 15:23:06
суммаесли с поиском столбца в котором суммировать
 
Вынес из формулы диапазоны поиска, чтобы их можно было оперативно менять.

Вопрос тот же, есть более простые аналоги динамической СУММАЕСЛИ, которая по условиям будет сама искать столбцы в которых вести суммирование?
суммаесли с поиском столбца в котором суммировать
 
Цитата
написал:
Ваша формулировка не соответствует вашему же файлу. В строке с "номер" вы ничего не найдете кроме "Выполнено работ".
В строке с "номер" я найду "наименование работ" в котором будет находиться условие для суммирования
суммаесли с поиском столбца в котором суммировать
 
Цитата
написал:
Как понимаю нужно просуммировать столбец  "Стоимость в ценах 2000г.",  по условию, проверяемому в столбце "Наименование работ". Само условие берется из заголовка столбца с формулой, лист "свод". Наименование листа для суммирования в 1-ом столбце строки формулы.
Всё верно
суммаесли с поиском столбца в котором суммировать
 
Количество столбцов и строк может меняться, потому и нужна динамическая СУММАЕСЛИ
суммаесли с поиском столбца в котором суммировать
 
таблица-диапазон из которой суммируем
суммаесли с поиском столбца в котором суммировать
 
Индекс + поискпоз выдаст число по одному вхождению, а мне нужна сумма всех вхождений.

Дайте подумать как сформулировать мысль.
Берём диапазон A1:AE1500, в котором надо определить номер строки которая начинается с "Номер", в ней мы ищем номер столбца который начинается с "Стоимость в ценах 2000г.", который будет диапазоном суммирования для СУММАЕСЛИ.
Ищем строку которая начинается с "Попорядку", в ней столбец "Наименование работ", в этом столбце мы ищем условие "Зарплата рабочих" и суммируем их по вхождению из диапазона суммирования.
стоимость в ценах 2000г.
КС2Зарплата   рабочихЭксплуатация   машинв   т.ч. зарплата машинистовМатериальные   ресурсыНакладные   расходыСметная   прибыль
19 08337 8816 3634414 3676 333
27 15762 1345 9391 282 82214 0196 389
38 49426 6784 3814411 9765 278
43 74748 7164 9371 041 9779 5124 322
Итог28   481175   40921   6202   324 88749   87422   322
суммаесли с поиском столбца в котором суммировать
 
чтобы задав диапазон столбцов и строк, задав условия для суммирования, формула сама определила столбцы и нашла позиции которые надо суммировать
суммаесли с поиском столбца в котором суммировать
 
Так я вроде и сказал.
"Возникла задача использовать функцию СУММАЕСЛИ, с условием что столбец из которого надо суммировать и столбец в котором находится условие для суммирования могут менять своё положение от документа к документу.
Сами условия тоже могут изменяться от документа к документу, потому появилась необходимость сделать динамическую суммаесли с возможностью простой замены или добавления условий для поиска."

сделать динамическую суммаесли с возможностью простой замены или добавления условий для поиска.
суммаесли с поиском столбца в котором суммировать
 
Добрый день!
Возникла задача использовать функцию СУММАЕСЛИ, с условием что столбец из которого надо суммировать и столбец в котором находится условие для суммирования могут менять своё положение от документа к документу.
Сами условия тоже могут изменяться от документа к документу, потому появилась необходимость сделать динамическую суммаесли с возможностью простой замены или добавления условий для поиска.
Думал использовать индекс, ВПР, суммапроизведений. В итоге сделал то что сделал. (в примере).
Но это настолько огромный монстр получился, что меня гложет чувство, что кем-то уже был придуман более простой способ. Потому хочу спросить совета. Есть более простые пути решения этой задачи?
Если кратко, я в СУММАЕСЛИ добавил ПОИСКПОЗ для поиска столбцов и строчек, и всё это через ДВССЫЛ и ПОДСТАВИТЬ(АДРЕС
Изменено: mugivara - 11.11.2022 09:59:26
переместить из строчек в столбцы данные по расценке
 
Прислать какие есть ещё варианты кроме этого? Или прислать на почту то что я в теме выложил?
Изменено: mugivara - 15.11.2021 16:48:59
переместить из строчек в столбцы данные по расценке
 
Необходим макрос который переформатирует смету в табличный вид.
Основная цель переместить данные по каждой расценке из строк в столбцы к этой расценке.
Пример во вложении. Цветом на листе "Изначально" отмечено зелёным - что должно быть перемещено, жёлтым  - что удалено (но это можно не выполнять, удалить всегда успеется).
Из заголовка (стройка, объект, №ЛСР, конструктивное решение и основание) перемещать тоже не обязательно, потом можно в ручную доработать.
Самое главное перенести в столбцы то что находится непосредственно под расценкой. У расценок в столбце "№ п.п." всегда есть номер состоящий из целого числа.

Просьба помочь и подсказать сколько это будет стоить.
Я эти сметы выгружаю по сотне за раз, в среднем выходит по 100 000 строчек. До переделки и в 10 раз меньше после переделки). Занимает такая работа около 5 часов, хотелось бы оптимизировать процесс.
Формат смет бывает разный, в дальнейшем можно было бы поработать и по остальным форматам. Зависит от сложности выполнения этой задачи и цены работы.
Изменено: mugivara - 15.11.2021 16:38:23
Заполнить столбец по условию совпадений из других столбцов
 
Круто!!!
За секунду всё решило!!!
Не смог правда к себе это применить, пришлось в эту форму из своей таблицы переносить данные. Но главное что все работает и сокращает потерю трудодней кратно )))
Заполнить столбец по условию совпадений из других столбцов
 
Это понятно. Формулы ВПР на таких масштабах эксель быстро просчитывает (несколько секунд). Я так понимаю тут чтобы ускорить надо формулой массива решать, возможно АГРЕГАТ быстрее будет.
Заполнить столбец по условию совпадений из других столбцов
 
Первая формула для таблицы на 100 000 строк подвисает эксель на полчаса :(
Заполнить столбец по условию совпадений из других столбцов
 
Спасибо!
Тоже изучу, пока первая формула стройнее и проще, но посмотрю в чём преимущества каждого из вариантов.
Заполнить столбец по условию совпадений из других столбцов
 
То что надо, спасибо огромное!!!  :excl: :excl:  :excl:  :idea:  
ПРОСМОТРом я ещё не пользовался, на досуге буду изучать эту формулу.
От души благодарю!
Заполнить столбец по условию совпадений из других столбцов
 
Результат нужен рядом.
Эту тему я читал, эти приёмы использую мне они не подходят. Потому что в столбце В в значениях заполнения данных может и не быть, тогда ячейки должны остаться пустыми
Заполнить столбец по условию совпадений из других столбцов
 
Извините, не сразу разобрался как прикрепить файл примера.
Заполнить столбец по условию совпадений из других столбцов
 
Добрый день!
Прошу помочь, чувствую что что-то подобное уже делал и вопрос простой, но никак не могу найти решение. Надеюсь на вашу свежую голову.
Суть вопроса: есть таблица в одном столбце есть повторяющиеся данные, во втором столбце есть значение, необходимо в третьем столбце для всех повторяющихся данных из первого столбца заполнить позиции из второго столбца.
Изменено: mugivara - 04.03.2021 12:12:08 (не добавил файл примера)
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Юрий М, не до конца значит разобрался )))
Цитата
Юрий М написал:
Garni , Вы работаете с ячейками листа - при количестве строк 1000 и 10 столбцов придётся  10 000 раз обращаться к ячейкам только таблицы с исходными данными, а это требует достаточно времени. А ещё ячейки итоговой таблицы... )) При таком объёме уже есть смысл переходить на обработку с помощью массивов.
Судя по тексту сообщения Ваш вариант более универсальный.
Всем спасибо! Пойду работать. Приятно общаться с профессионалами.
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Юрий М, разобрался, спасибо.
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
Garni написал:
Проверьте ссылки на строки, т.к. в моем решении строки были смещены
Разобрался. Все работает, спасибо большое. Судя по тому что код совершенно разный задачу можно выполнять разными способами. Интересно только какой из них более универсальный.
Этот

 

Код
Sub Macro1()  Dim LastRow As Long, i As Long, LastColumn As Long, j As Long, k As Long, Arr()      LastRow = Cells(Rows.Count, 1).End(xlUp).Row      LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column      Range(Cells(2, 1), Cells(LastRow + 1, LastColumn)).ClearContents      With Sheets("ЕСТЬ")          LastRow = .Cells(Rows.Count, 2).End(xlUp).Row          LastColumn = .Cells(3, Columns.Count).End(xlToLeft).Column          Arr = Range(.Cells(3, 2), .Cells(LastRow, LastColumn)).Value      End With      k = 1      ReDim arr2(1 To UBound(Arr) * UBound(Arr, 2) - 2, 1 To 4)      For j = 3 To UBound(Arr, 2)          For i = 3 To UBound(Arr)              arr2(k, 1) = Arr(1, j)              arr2(k, 2) = Arr(i, 1)              arr2(k, 3) = Arr(i, 2)              If Arr(i, j) = "" Then                  arr2(k, 4) = 0              Else                  arr2(k, 4) = Arr(i, j)              End If              k = k + 1          Next      Next      Range("A2").Resize(k, 4).Value = arr2  End Sub

  Или этот

 

Код
Sub qwe()  Dim wsOr As Worksheet  Dim wsCor As Worksheet  Dim LROr As Integer  Dim LCOr As Integer  Set wsOr = ThisWorkbook.Worksheets(1)  Set wsCor = ThisWorkbook.Worksheets(2)  LROr = wsOr.Cells(Rows.Count, 3).End(xlUp).Row  LCOr = wsOr.Cells(3, Columns.Count).End(xlToLeft).Column  With wsCor  .Cells.Clear  k = 3  For i = 4 To LROr      For y = 2 To LCOr      .Cells(k, 1) = wsOr.Cells(3, y)      .Cells(k, 2) = wsOr.Cells(i, 2)      .Cells(k, 3) = wsOr.Cells(i, 3)      .Cells(k, 4) = wsOr.Cells(i, y)      k = k + 1      Next y  Next i  End With  End Sub 

 
Изменено: mugivara - 25.06.2017 11:09:43
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
Юрий М написал:
Строка, про которую Вы говорите, - это цикл перебора заголовков столбцов.
Все равно спасибо! )))
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
Юрий М написал:
Мой вариант проверили?
Только что. Разбирался со строками. Все отлично, изящно и лаконично.
Спасибо! Надеюсь позже смогу разобраться значениях макроса, чтобы составлять самому.
   For j = 3 To UBound(Arr, 2) - эта строчка отвечает за то с какой строки начинается обработка данных? Я правильно понял?
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
gling написал:
Здравствуйте. Есть готовое решение  Редизайнер таблиц.
Вот это круто! Спасибо! Надеюсь смогу со временм научиться так делать сам. Может курсы какие-нибудь подскажете?
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
Garni написал:
Так?
Так. Я себе примерно и представлял что большим он не должен быть. Только когда я вставляю его в свою таблицу никаких действий не происходит
преобразование таблицы из вида "таблицы умножения" в порядковую
 
Цитата
Владимир написал:
Формулы простые, для Вашего объёма вполне работоспособные.
Спасибо! Был не прав. Формулами можно сделать. Только с этой формулой раньше на работал. Если не затруднит не объясните алгоритм ее работы? Чтобы в дальнейшем мог сам пользоваться и вставлять нужные функции. Я к тому что интуитивно проставил формулу по ячейкам, но количество не отображается.
Страницы: 1 2 След.
Наверх