memo, магия! Спасибо!
формула "СУММПРОИЗВ": не считает если в диапазоне суммирования попался текст, Посмотрите мой пример. Я ввожу условия, которые должны были отсеять текст, но все равно не работает.
формула "СУММПРОИЗВ": не считает если в диапазоне суммирования попался текст, Посмотрите мой пример. Я ввожу условия, которые должны были отсеять текст, но все равно не работает.
09.06.2023 15:23:56
memo, да, хотел это, спасибо большое!
Скорее ради удовлетворения любопытства спрошу, а через доработку моей "СУММПРОИЗВ" и не формулу массива эта проблема имеет не громоздкое решение?
Изменено: |
|
|
формула "СУММПРОИЗВ": не считает если в диапазоне суммирования попался текст, Посмотрите мой пример. Я ввожу условия, которые должны были отсеять текст, но все равно не работает.
формула "СУММПРОИЗВ": не считает если в диапазоне суммирования попался текст, Посмотрите мой пример. Я ввожу условия, которые должны были отсеять текст, но все равно не работает.
08.06.2023 23:39:02
Здравствуйте! Формула "СУММПРОИЗВ" не будет работать в принципе если в диапазоне суммирования есть текст? Я ввожу условия, которые должны были отсеять текст, но все равно не работает. И второй вопрос в рамках отправленного примера: как сделать чтобы умная таблица не переводила даты в заголовках таблицы в строки (хочу избавиться в моей формуле от ДАТАЗНАЧ, но хочу оставить умную таблицу)
Дополнено спустя время: желательно чтобы числа введеные как текст подсчитывались
Изменено: |
|
|
Увеличится ли скорость кода VBA, если он сначала опросит все ячейки одного листа и только потом перейдет на второй лист., Задача: считать value 10000 ячеек в массив, ячейки хаотично разбросаны в пределах одной книг
29.10.2022 10:56:17
RAN, собирается value ячеек в какую-то структуру данных, скажем, массив с листами и адресами ячеек, вот этот массив и нужно дополнить значениями по адресу ячеек. По этой причине двухмерный массив сразу имеет три столбца, заполнить нужно третий столбец - это value, в первых двух столбцах задан лист и ячейка. Порядок листов хаотичен и заранее не известен. Использовать собранные value никак не собираемся, просто кладем их в массив и довольно потираем руки.
Все, теперь есть полное описание задачи. Я расширил описание для вас, надеюсь теперь все понятно по исходным данным. Я искренне не понимаю, правда, что дали эти дополнительные описания, что с их вводом появилось принципиально меняющее ход мыслей и как вам это поможет ответить на мои вопросы. На всякий уточню, что вопрос не в полном коде которой должен иметь макрос, а максимум о паре строк в части цикла сбора. Повторю свои прежние вопросы, но другими словами. Имеет ли смысл циклу обходить ячейки на основании того, принадлежат ли они листу, или это ничего не дает с точки зрения скорости работы из-за условия, что ячейки не образуют общего диапазона на листе и каждое значение ячейки все равно придется собирать отдельной ссылкой на каждый адрес ячейки. Вы не можете получить доступ к диапазону, объединяющему несколько ячеек, потому что ячейки на листе не группируемы и поэтому какая бы то ни была группировка не может быть описаны (алгоритмом). Есть ли смысл собирать значение, не заботясь о принадлежности к конкретному листу? Или лучше написать цикл так, чтобы он сначала собирал все ячейки одного листа и только потом переходил на другой лист, где снова обходил все его ячейки (это может быть быстрее, поскольку лист не прыгает туда-сюда и по этой причине может быть предустановлен одним действием сразу на несколько адресов одновременно, в противоположность тому, если об этом не позаботиться и разрешить листам прыгать туда-сюда в том хаотичном порядке в котором они встречаются по массиву). Цикл можно составить по варианту 3 и лист поменяется 499 раза (так как у нас 10000 ячеек по 20 штук на листе, всего 500 листов), а можно не придавать этому значение и лист будет с отличием до 9999 раз в худшем сценарии варианта 1.
Изменено: |
|
|
Увеличится ли скорость кода VBA, если он сначала опросит все ячейки одного листа и только потом перейдет на второй лист., Задача: считать value 10000 ячеек в массив, ячейки хаотично разбросаны в пределах одной книг
29.10.2022 09:01:37
БМВ, большое спасибо! На всякий случай уточнюсь, меня смутила ваша настороженность по поводу читабельности кода. С краткостью решения, как мне кажется, полный порядок - не противоречит условию задачи адресам ячеек изначально находиться в двумерном массиве (лист, адрес). Простите меня за то, что я не упомянул об этом сразу. Вопросы выше можно свести и к таким:
1. Нужно ли разбивать данные в массиве по листам и последовательно запрашивать ячейки в пределах листа, или можно "не заморачиваться" и писать цикл полной адресации к случайному листу из массива. 2. Какой самый удачный синтаксис в пределах цикла в плане скорости. Есть ли разница между приведенными мной вариантами? Если я правильно понял ваш ответ, то первое - да, желательно разбить. Второе - предпочтительный синтаксис на который нужно держать ориентир с "with", а не "Select" как было у меня в варианте 3. Могли бы вы пояснить в чем тонкость? Равнозначны ли вариант 1 и вариант 2? Спасибо!
Изменено: |
|
|
Увеличится ли скорость кода VBA, если он сначала опросит все ячейки одного листа и только потом перейдет на второй лист., Задача: считать value 10000 ячеек в массив, ячейки хаотично разбросаны в пределах одной книг
29.10.2022 08:11:52
New, не понял, а если данные листов не выстраиваются в линии чтобы их как в вашем примере макросом забирать целыми столбцами\строками?
Я именно такую ситуацию и обрисовывал в своем первом сообщении. Но, видимо, сделал это непрозрачно. Исправлюсь: Есть 10000 адресов ячеек в несистемном виде. Скажем: - по 20 ячеек на лист, таких листов 500. Итого 20яч. * на 500 листов = 10000 ячеек; Я не знаю может ли быть в одной книге столько листов. Для простоты предположим что все листы в одной книге. - у ячеек нет общего столбца и строки в пределах одного листа, нужные данных по единственном экземпляре на строку и на столбец среди других ненужных значений. - положение ячеек на одном листе ничего не говорит о их расположении на другом листе. Если пример показался недостаточным - усложните, он же так скажем учебный, самый лютый сценарий примените из тех которые вам рисует воображение. Смысл в том что данных очень много, они не системны и стремятся образовывать максимально неудобные для считывания разом диапазоны ячеек, у части ячеек есть общий лист и это вся что у них общее. А мой вопрос про то нужно ли эти данные собирать ориентируясь на эту общность по листу. (Исходя из этого я накидал варианты 1-3 в первом сообщении, но их у вас может быть больше, это те что мне пришли в голову).
Изменено: |
|||
|
Увеличится ли скорость кода VBA, если он сначала опросит все ячейки одного листа и только потом перейдет на второй лист., Задача: считать value 10000 ячеек в массив, ячейки хаотично разбросаны в пределах одной книг
29.10.2022 01:01:46
Привет!
Меня интересует, увеличится ли скорость работы кода VBA, если он сначала опросит все ячейки одного листа и только потом перейдет на второй лист. Допустим, нам нужно считать значение 10000 ячеек в массив, сами ячейки разбросаны в пределах одной книги (каждое значение нужно читать по индивидуально назначенному адресу ячейки, оптимизация по общему диапазону невозможна). Будет ли зависимость скорости от последовательности адресации листов? Будет ли зависимость скорости от синтаксиса адресации листов? Второй вопрос можно сузить для краткости - какой синтаксис оптимален для описанной выше задачи, есть ли разница для цикла при задании итерации: Вариант 1 итерация 1 ThisWorkbook.Sheets("Лист1").Range("A3") итерация 2 ThisWorkbook.Sheets("Лист2").Range("A2") итерация 3 ThisWorkbook.Sheets("Лист1").Range("A4") Вариант 2 итерация 1 ThisWorkbook.Sheets("Лист1").Range("A3") итерация 2 ThisWorkbook.Sheets("Лист1").Range("A4") итерация 3 ThisWorkbook.Sheets("Лист2").Range("A2") Вариант 3 несколько циклов (один в другом) ThisWorkbook.Sheets("Лист1").Select 'код обращения к адресам нужных ячеек без указания листа ThisWorkbook.Sheets("Лист2").Select 'код обращения к адресам нужных ячеек без указания листа P.s. Еще вопрос про скорость который меня волнует, если можно) Это нормальная практика объединять с разделителем несколько значений в String разной длины и засовывать в массив, делая String последним уровнем вложения в структуре данных? Извлекается от от туда только один раз, поиск мне не нужен. Переживаю за скорость. Или лучше заменить на коллекцию?)
Изменено: |
|
|
Удобное внедрение языка программирования "Python" в файл Excel на основе портативной сборки Python, Настроенный файл Excel для удобного вызова скриптов Python из Excel
06.09.2022 20:26:48
на сайте достаточно хороший раздел дружественной к новичкам документации, попробуйте читать ее разделы в той последовательности как они идут, браузером можно сделать перевод на приемлемый русский.
Оставлю тут перевод части текста по ссылке выше о возможностях: "Веб-сервер xlwings может быть построен с использованием любой веб-инфраструктуры и, следовательно, может быть развернут с использованием любого решения, способного запускать серверную часть или функцию Python. Вот список для вдохновения (не исчерпывающий): Полностью управляемые сервисы : Heroku , render , Fly.io и др. Интерактивные среды : PythonAnywhere , Anvil и др. Бессерверные функции : AWS Lambda , Azure Functions , Google Cloud Functions , Vercel и т. д. Виртуальные машины : DigitalOcean (реферальная ссылка), vultr (реферальная ссылка), Linode , AWS EC2 , Microsoft Azure VM , Google Cloud Compute Engine и т. д. Корпоративные серверы : все будет работать (включая Kubernetes), если к соответствующим конечным точкам можно получить доступ из вашего приложения для работы с электронными таблицами."[
Изменено: |
|||||
|
Нужна формула для вывода в одной ячейке номеров всех участков для заданного периода., Формула вроде ВПР, перечисляющая все значения, удовлетворяющие запрос, через разделитель.
12.03.2022 11:11:23
Приветствую! Нужна формула вроде ВПР, перечисляющая все уникальные значения, удовлетворяющие запрос через какой-то разделитель, скажем пробел либо запятую! В прилагаемом примере даны идентификаторы работ, даты, номера участков (могут дублироваться в периоде). Нужен вывод всех уникальных участков для идентификатора внутри заданного периода (в примере предлагается выводить уникальные значения отдельно за 2018, 2019, 2020 и вместе за 2018-2020). Вывод в одной ячейке! Формат не важен, можно как в примере через запятую или даже так: {1} или {1, 2, 3}, если это сделает работу формулы быстрее. Задача стоящая передо мной: понятно для глаз вывести в одной ячейке все участки в периоде! Спасибо!
Изменено: |
|
|
Удобное внедрение языка программирования "Python" в файл Excel на основе портативной сборки Python, Настроенный файл Excel для удобного вызова скриптов Python из Excel
25.12.2021 20:20:39
Изменено: |
|||
|
При цитировании пропадает ссылка на цитируемого
При цитировании пропадает ссылка на цитируемого
25.12.2021 17:41:08
Так как цитировать то теперь? Как мне ответить человеку на его вопрос чтобы он понял что я ответил на его вопрос (получил уведомление об этом)?
Сайт чтоли заброслили? Элементарного комфорта нет. "а пока включаем режим BB code" - это как?
Изменено: |
|
|
Как заставить макрос дождаться завершения работы других макросов., запросы PQ
Office 2021 и новый Excel - у кого уже есть, какие мнения?, Обсуждение новой версии
Как заставить макрос дождаться завершения работы других макросов., запросы PQ
Как заставить макрос дождаться завершения работы других макросов., запросы PQ
Как заставить макрос дождаться завершения работы других макросов., запросы PQ
25.11.2021 08:31:52
Изменено: |
|||
|
Как заставить макрос дождаться завершения работы других макросов., запросы PQ
Удобное внедрение языка программирования "Python" в файл Excel на основе портативной сборки Python, Настроенный файл Excel для удобного вызова скриптов Python из Excel
17.11.2021 13:15:44
egonomist, благодарю за роскошные подробности! Я так понял (из видео) вы два раза в месяц мониторите новые библиотеки Python. Из этого я заключил, что если вдруг появится что-то бесплатное, что способно выполнить код, который хранится в ячейках листа Excel, то вы об этом узнаете намного быстрее чем я. Буду благодарен если отпишите сюда! Я думаю где-то на этом сайте должна быть тема, которая несет информационно-позновательное о новинках в мире для связки Python + Excel. А может у вас есть такой блог?
Изменено: |
|
|
Удобное внедрение языка программирования "Python" в файл Excel на основе портативной сборки Python, Настроенный файл Excel для удобного вызова скриптов Python из Excel
13.11.2021 15:03:54
Изменено: |
|||
|
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
28.10.2021 12:51:15
mechanix 85, в примере стоит "66" в ячейке N21. Возможно вам стоит загрузить пример заново, я менял его, возможно у вас старый. Кстати, ваша формула работает и в последнем варианте в файле-примере, если в пустую ячейку приоритета вписать какое-либо значение, например, "нет".
Меня это устраивает! Это даже лучше чем я хотел - будет стимулировать пользователей всегда указывать что-то в поле приоритета, иначе он будет получать ноль,поля не будут теперь пустыми! Огромное спасибо Вам!
Изменено: |
|
|
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
28.10.2021 12:41:00
mechanix 85, формула не справляется с последней таблицей в файле "пример". Если формуле сложно пустые значения приоритета обрабатывать, то мне не проблема будет отметить в своем файле столбцы с такими значениями буквой или, например, словом "исключено" вместо пустоты.
Изменено: |
|
|
Удобное внедрение языка программирования "Python" в файл Excel на основе портативной сборки Python, Настроенный файл Excel для удобного вызова скриптов Python из Excel
28.10.2021 12:18:14
Лина Сафиуллина, честно говоря не знаю с какой проблемой вы столкнулись, я сейчас попробовал и у меня команда выполнилась.
Все что мне приходится сделать для установки: открываю Console-Launcher.exe и через комбинацию Ctrl+V вставляю скопированный текст pip install xlwings Нажимаю клавишу Enter и все само устанавливается
Изменено: |
|
|
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
28.10.2021 10:08:17
Jack Famous, не удается изменить. Текст сообщения доступен для редактирования, но не само название темы
|
|
|
Выбор (формулой) максимального значения с самым высоким приоритетом из ряда значений
PQ. При попытке загрузки таблицы ошибка "Не допускается перекрытие результатов запроса и таблицы..."
26.10.2021 13:32:14
Добрый день! После критического повреждения файла эксель создаю реплику старого файла и возникла неожиданная сложность - при копировании запроса из поврежденного файла в новый, абсолютно идентичный файл, пересаженный запрос выгружает результаты с созданием нового листа, а мне не надо на новый лист - мне нужно воссоздать прежнюю структуру документа и "заставить" запрос загрузить в ранее существующую под этот запрос таблицу. Удалить таблицу и сделать ее заново не смогу - для этого потребуется переписать множество формул, кроме того таких таблиц у меня 9 штук.
Изменено: |
|
|
Файл отказывается сохраняться (критическая ошибка), с сообщением, что файл поврежден настолько серьезно что восстановить его не удалось
19.10.2021 07:53:01
Здраствуйте! Помогите понять что требуется исправить в исходом файле.
Имеется файл формата .xlsm (исходный вариант), который вроде как работает без нареканий, но вот когда сотрудники фирмы берут его в качестве шаблона, после чего несколько раз у себя сохраняют с различными вариациями незначительных изменений и вот уже эти реплики, по не ясной мне причине, после изменений, иной раз, сохраняются нормально, а в другой раз, отказываются сохраняться с сообщением, что файл поврежден настолько серьезно что восстановить его не удалось: Журнал восстановления:
Во вложении я дам ссылку на архив в котором будут два файла - рабочий исходник и реплика с него, которая дает ошибку при попытке ее сохранить в каком бы то ни было формате (и даже просто при нажатии на сохранить):
Изменено: |
|||
|