Задача следующая Есть два столбца в первом фразы состоящие из нескольких слов, во втором в одной ячейке одно слово. Нужно в третьем столбце вывести какие именно слова содержит первый столбец из второго. Ячейка первого массива может содержать несколько значений из второго массива и их нужно сцепить и вывести в третьем в той же строчке. В чем суть - нужно видеть какие уже слова содержаться во втором массиве, он будет находиться на другом листе и пополняться. В файле пример что должно получиться.
Приветствую!
Задача следующая Есть два столбца в первом фразы состоящие из нескольких слов, во втором в одной ячейке одно слово. Нужно в третьем столбце вывести какие именно слова содержит первый столбец из второго. Ячейка первого массива может содержать несколько значений из второго массива и их нужно сцепить и вывести в третьем в той же строчке. В чем суть - нужно видеть какие уже слова содержаться во втором массиве, он будет находиться на другом листе и пополняться. В файле пример что должно получиться.vladimir-shagaliev
_Boroda_, Hugo, Спасибо БОЛЬШОЕ!!! Все четко работает. Но мой комп умирает. Список проверяемых состоит из 300 значений. Если делаю расчет формулы даже в 100 ячейках, то комп умирает со 100% загрузкой ЦП минут на 30. Комп слабенький, в связи с этим вопрос, если взять более мощный комп то какой брать чтобы все считалось и пересчитывалось на лету, и возможно ли это вообще?
_Boroda_, Hugo, Спасибо БОЛЬШОЕ!!! Все четко работает. Но мой комп умирает. Список проверяемых состоит из 300 значений. Если делаю расчет формулы даже в 100 ячейках, то комп умирает со 100% загрузкой ЦП минут на 30. Комп слабенький, в связи с этим вопрос, если взять более мощный комп то какой брать чтобы все считалось и пересчитывалось на лету, и возможно ли это вообще?vladimir-shagaliev
Hugo, я чуть не заплакал когда заработало. Но есть один любопытный момент. Если внести в список значений новый элемент (список значений пополняется) то формула не пересчитывается. Нужно закрыть-открыть файл, и сделать ввод формулы (сделать активной ячейку и нажать Enter) потом уже она видит что появился новый элемент и соответственно выводит его где нужно. Столбец значений я определяю широко т е вот =doska(B820;minus!$B$3:$B$1000) заполнены значения столбца B не полностью, т е 300 значений заполнены а остальные пустые ячейки. И вот когда я добавляю скажем 301 элемент, несмотря на то что в формуле он учтен, пересчет не происходит и нужно открыть закрыть файл и нажать на ячейке enter и тогда формула пересчитывается
Hugo, я чуть не заплакал когда заработало. Но есть один любопытный момент. Если внести в список значений новый элемент (список значений пополняется) то формула не пересчитывается. Нужно закрыть-открыть файл, и сделать ввод формулы (сделать активной ячейку и нажать Enter) потом уже она видит что появился новый элемент и соответственно выводит его где нужно. Столбец значений я определяю широко т е вот =doska(B820;minus!$B$3:$B$1000) заполнены значения столбца B не полностью, т е 300 значений заполнены а остальные пустые ячейки. И вот когда я добавляю скажем 301 элемент, несмотря на то что в формуле он учтен, пересчет не происходит и нужно открыть закрыть файл и нажать на ячейке enter и тогда формула пересчитывается vladimir-shagaliev
Ну это можно макросом подправить - сделать маленький макрос с одной строкой set dic=nothing и вызывать его когда нужно дать обновлённый список. Вообще это потому, что я старался сделать код быстрым, поэтому словарь заполняется только один раз при срабатывании первой функции, остальные используют уже собранное. Поэтому изменение списка не учитывается, когда словарь уже готов. Можно код переписать - но будет работать медленнее, даже вероятно заметно медленнее.
Вот добавил кнопку - когда добавите значение, то жмёте кнопку, затем заново протягиваете формулы (сами они не пересчитываются, нужно заставлять).
Ну это можно макросом подправить - сделать маленький макрос с одной строкой set dic=nothing и вызывать его когда нужно дать обновлённый список. Вообще это потому, что я старался сделать код быстрым, поэтому словарь заполняется только один раз при срабатывании первой функции, остальные используют уже собранное. Поэтому изменение списка не учитывается, когда словарь уже готов. Можно код переписать - но будет работать медленнее, даже вероятно заметно медленнее.
Вот добавил кнопку - когда добавите значение, то жмёте кнопку, затем заново протягиваете формулы (сами они не пересчитываются, нужно заставлять).Hugo
Hugo, не переписывать не надо, работает очень быстро и это огромный плюс и самое главное. А отдельная кнопочка "Обновить список" будет в самый раз и для логики процесса тоже и это быстрее чем открывать-закрывать-пересчитывать. Готов финансово отблагодарить
Hugo, не переписывать не надо, работает очень быстро и это огромный плюс и самое главное. А отдельная кнопочка "Обновить список" будет в самый раз и для логики процесса тоже и это быстрее чем открывать-закрывать-пересчитывать. Готов финансово отблагодаритьvladimir-shagaliev
Кнопочку добавил - но пересчитывать функции придётся... Хотя это не долго - можно на одну строку выше диапазона вбить лишнюю функцию, и пересчитывать всё даблкликом по уголку. Она не пересчитается, а все ниже пересчитаются.
Кнопочку добавил - но пересчитывать функции придётся... Хотя это не долго - можно на одну строку выше диапазона вбить лишнюю функцию, и пересчитывать всё даблкликом по уголку. Она не пересчитается, а все ниже пересчитаются.Hugo
Александр, вот что-то у меня не срабатывает это ActiveSheet.Calculate... Т.е. не работают твои издевательства... Я уже тоже пробовал это на кнопку повесить сразу после сброса словаря - не фурычит, хотя должно бы... Так что у меня надёжнее так - сперва нажали кнопку, затем правим список. Как вариант - обнулять словарь при выделении ячейки в D сейчас попробую...
Файл ниже по теме.
Александр, вот что-то у меня не срабатывает это ActiveSheet.Calculate... Т.е. не работают твои издевательства... Я уже тоже пробовал это на кнопку повесить сразу после сброса словаря - не фурычит, хотя должно бы... Так что у меня надёжнее так - сперва нажали кнопку, затем правим список. Как вариант - обнулять словарь при выделении ячейки в D сейчас попробую...