Добрый день. Помогите, пож, по ситуации. Раньше когда сравнивал несколько одинаковых таблиц (с одинаковыми столбцами, пусть и последовательность столбцов разная, и одинаковым количеством строк) делал простую проверку контрольной суммой, это хоть и не точно, но устраивало на больших таблицах - числа дробные и вероятность случайного совпадения итоговых сумм была небольшая и меня устраивала Этот подход и сейчас бы меня устраивал, особенно меня очень подкупает его простота, незамороченность и универсальность (можно применять на любых достаточно больших числовых таблицах). Но теперь появились еще и столбцы с текстовыми ячейками... и их тоже надо проверить. Единственное, что мне приходит в голову это каждый текстовый столбец проверять ячейка за ячейкой... И придется так и поступить, если вы не поможете мне найти другой подход... Было очень хорошо, если бы каким-то образом сохранить старый подход и его плюсы, только обойти как-то эту проблему с текстовыми столбцами в VBA
Добрый день! Лучше будет если вы скажите для чего это делаете и каков желаемый результат, а также приложите небольшой файл с примером. Возможно вам предложат более быстрое решение вопроса....
Нужно для быстрого сравнения нескольких больших таблиц, столбцы одинаковые, порядок столбцов может различаться. Пример прикладываю, нужно, чтобы ячейка с Истиной меняла свое значение на Ложь, не только когда меняется число во второй таблице (как сейчас), но и когда меняется текст, например, помидоры на персики
Не силен в формулах массива, может делаю что то не то, если помидор например заменить "поми" или "пом" - дает все равно Истину Но если помидор заменить на "п" - работает и дает Истину
Пытливый написал: идея формулы - превращение букв в числовые значения кодов этих букв, затем сложение.
очень понравилась эта идея. в excel получил коды для алфавита, и к сожалению понял, что погрешность будет очень высокая, если суммировать коды букв. Например, код буквы а = 224, код б = 225, в = 226... Если складывать коды, слово "аг" = 451 и "бв" = 451. Т.е. тут уже не маленькая вероятность случайного совпадения
Ну, вы же номенклатуру не будете 2 буквами обозначать, правда? В этом случае % возможного случайного совпадения суммы кодов снижается многократно. Ну, или тогда через доп.столбцы приравнивать ячейки, содержащие текстовые данные, получаем Истина (совпадает), или ЛОЖЬ (не совпадает). И затем в итоговой формуле считать, сколько ЛОЖЬ в доп.столбцах. Если >0 - алярм.
Типа такой итоговой формулы массива (доп.столбцов не надо):
сама идея классная. нужно только что-то поточнее чем суммирование кодов. пока приходит на ум склеивать, например "аг" = 224227 Спасибо за помощь. Попробую пойти этим путем
IKor написал: Ливиан , Я правильно понимаю, что одинаковая сортировка обеих таблиц и последующий построчный поиск до первого различия Вас не устраивает?
Цитата
Андрей_26 написал: А что мешает названия столбцов в двух таблицах сделать одинаковыми ? Тогда можно просто сравнивать построчно
Таблицы большие с формулами, сортировка порушит формулы. Хотя, сейчас пришла мысль, что можно копировать листы значениями и пойти предложенным Вами путем. Может так будет проще, коды тоже хорошая вещь, надо только ее как-то доработать