Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос показателей с одной таблицы Excel в другую - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Перенос показателей с одной таблицы Excel в другую
Tso Дата: Понедельник, 03.10.2022, 16:43 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте!
Подскажите, пожалуйста, какой есть выход из сложившейся ситуации...
Есть две файла. В одном прописаны требования заказчика (1500 строк с наименованиями медицинских услуг). Во втором файле (прейскурант), прописаны 5000 строк с наименованиями услуг, стоимостью...
Из-за того, что услуги не совпадают по написанию (где-то запятая не там стоит. где-то пробел лишний, скобка и т.д.) протянуть формулой не получается...
Сидеть в ручную перебирать все не вариант (долго и муторно).
Может есть способ по ключевым словам вытянуть нужную информацию, каким-то расставить наиболее похожие значения из прейскуранта к требованию заказчика?
К сообщению приложен файл: 5980137.png (200.3 Kb)
 
Ответить
СообщениеЗдравствуйте!
Подскажите, пожалуйста, какой есть выход из сложившейся ситуации...
Есть две файла. В одном прописаны требования заказчика (1500 строк с наименованиями медицинских услуг). Во втором файле (прейскурант), прописаны 5000 строк с наименованиями услуг, стоимостью...
Из-за того, что услуги не совпадают по написанию (где-то запятая не там стоит. где-то пробел лишний, скобка и т.д.) протянуть формулой не получается...
Сидеть в ручную перебирать все не вариант (долго и муторно).
Может есть способ по ключевым словам вытянуть нужную информацию, каким-то расставить наиболее похожие значения из прейскуранта к требованию заказчика?

Автор - Tso
Дата добавления - 03.10.2022 в 16:43
scriptapplications Дата: Понедельник, 03.10.2022, 17:31 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 68
Репутация: 12 ±
Замечаний: 0% ±

Tso, приведите к единому виду функцией ПОДСТАВИТЬ, удалив все сомнительные знаки, например, пробелы и скобки.
Если цены справочника в колонке F1:F1500, названия в колонке E1:E1500, и подставляем в ячейку F6 (название в C6) , а удаляем только пробелы и скобки, то поможет формула массива ( ввод через Ctrl+Shift+Enter) :
Код
=ИНДЕКС(F1:F1500;ПОИСКПОЗ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C6;" ";"");")";"");"(";"");ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($E$1:$E$1500;" ";"");")";"");"(";"")))

Перед диапазонами справочника надо подставить название файла и листа.
У Вас цепочка "ПОДСТАВИТЬ(" будет длиннее, (придётся включить все удаляемые знаки)


Сообщение отредактировал scriptapplications - Понедельник, 03.10.2022, 18:00
 
Ответить
СообщениеTso, приведите к единому виду функцией ПОДСТАВИТЬ, удалив все сомнительные знаки, например, пробелы и скобки.
Если цены справочника в колонке F1:F1500, названия в колонке E1:E1500, и подставляем в ячейку F6 (название в C6) , а удаляем только пробелы и скобки, то поможет формула массива ( ввод через Ctrl+Shift+Enter) :
Код
=ИНДЕКС(F1:F1500;ПОИСКПОЗ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C6;" ";"");")";"");"(";"");ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($E$1:$E$1500;" ";"");")";"");"(";"")))

Перед диапазонами справочника надо подставить название файла и листа.
У Вас цепочка "ПОДСТАВИТЬ(" будет длиннее, (придётся включить все удаляемые знаки)

Автор - scriptapplications
Дата добавления - 03.10.2022 в 17:31
Tso Дата: Вторник, 04.10.2022, 11:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Цитата scriptapplications, 03.10.2022 в 17:31, в сообщении № 2 ()
У Вас цепочка "ПОДСТАВИТЬ(" будет длиннее, (придётся включить все удаляемые знаки)


Спасибо. С помощью этой формулы 10% от общего количество смог вывести.
Подскажите, а если текст разный. К примеру, одно слово из предложения отличается или они немного в другом порядке... Возможно ли каким-то образом соотнести их по схожести? Я так понимаю, при всем разнообразии функций экселя, это невозможно, и надо в ручную обрабатывать. И вообще какими инструментами (питон, скюэль...) решаются подобного рода задачи?
 
Ответить
Сообщение
Цитата scriptapplications, 03.10.2022 в 17:31, в сообщении № 2 ()
У Вас цепочка "ПОДСТАВИТЬ(" будет длиннее, (придётся включить все удаляемые знаки)


Спасибо. С помощью этой формулы 10% от общего количество смог вывести.
Подскажите, а если текст разный. К примеру, одно слово из предложения отличается или они немного в другом порядке... Возможно ли каким-то образом соотнести их по схожести? Я так понимаю, при всем разнообразии функций экселя, это невозможно, и надо в ручную обрабатывать. И вообще какими инструментами (питон, скюэль...) решаются подобного рода задачи?

Автор - Tso
Дата добавления - 04.10.2022 в 11:02
_Boroda_ Дата: Вторник, 04.10.2022, 11:41 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Есть у нас такая тема
http://www.excelworld.ru/forum/3-717-1
Но это сложно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсть у нас такая тема
http://www.excelworld.ru/forum/3-717-1
Но это сложно

Автор - _Boroda_
Дата добавления - 04.10.2022 в 11:41
Tso Дата: Вторник, 04.10.2022, 16:05 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Это уже иной уровень!!
С ходу не разберусь, конечно, но постараюсь научиться этим пользоваться. По описанию очень крутая штука, как раз то, что искал.
Спасибо большое. :prof:
 
Ответить
СообщениеЭто уже иной уровень!!
С ходу не разберусь, конечно, но постараюсь научиться этим пользоваться. По описанию очень крутая штука, как раз то, что искал.
Спасибо большое. :prof:

Автор - Tso
Дата добавления - 04.10.2022 в 16:05
Gustav Дата: Вторник, 04.10.2022, 21:05 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Tso, жирный минус в том, что Вы не дали нормальный файл для экспериментов (эксельный файл примера с реальными данными). Тут много любознательных человеков, которые в свободную минуту с удовольствием бы поковырялись с Вашей темой. Глядишь, что-нибудь полезное и нарисовалось бы. Ну, а с фотографиями ковыряться - сами понимаете - чо с ними ковыряться?

И, кстати, 1500 строк, да и 5000 - не те объёмы для разбора, которые могут испугать настоящего рыцаря формул и макросов yes Во всяком случае, на понимание и более/менее эффективное применение нечеткого поиска уйдёт не меньше. Вот, к примеру, узнали Вы, что совпадение двух строк - 43%. Ваши дальнейшие действия? :p

"Если бы я был директором" (если бы передо мной стояла подобная задача), я бы сделал примерно следующие шаги:

1. Пронумеровал все строки в отдельном столбце - чтобы всегда можно было "вернуться", потому что я собираюсь активно применять вручную полную или частичную сортировку массивов.

2. Оставил бы в текстах только алфавитно-цифровые символы и пробелы. И удалил бы всё остальное (знаки препинания и спецсимволы) - в этом смысле scriptapplications абсолютно прав. И после этого сжал бы пробелы соответствующей функцией. И, наверное, перевел бы все символы в один регистр для единообразия, например, в строчный (маленькие буквы).

3. Разделил бы тексты по словам с помощью команды "Текст по столбцам", не упуская из виду номер строки из п.1.

4. Из получившегося материала сделал бы плоскую таблицу с двумя колонками: "Номер строки" и "Слово". На Форуме есть упоминания про "Редизайнер таблиц" - можно с его помощью, либо в Гугл таблицах есть подходящая для этой операции функция FLATTEN.

5. Дальше надо будет из значений колонки "Слово" выбрать уникальные, отсортировать их по алфавиту и справа от них создать колонку "Именительный в ед.числе". В нее надо будет поначалу скопировать значения из колонки "Слово", а затем вручную пройтись по ней, редактируя, приводя все слова в именительный падеж в единственном числе. Слова в разных падежах выстроятся рядом, поэтому достаточно будет отредактировать первое из них, а потом скопировать в нижерасположенные родственные строки.

6. Дальше надо будет "закинуть обратно" значения из отредактированной колонки "Именительный в ед.числе" в колонку "Слово" из п.4, заменив имеющиеся там слова через связь по колонке "Слово" п.п. 5 и 4.

7. После этого сортируем таблицу п.4 по возрастанию по колонкам "Номер строки" (1-й ключ сортировки) и "Слово" (2-й ключ).

8. Далее "разворачиваем" все слова одного номера по ячейкам строки вправо, т.е. придаём таблице вид как после применения команды "Текст по столбцам". Но теперь у нас все слова в именительном падеже единственного числа и внутри строки отсортированы по алфавиту.

9. Сцепляем (конкатенируем) все слова одной строки через пробел в одну ячейку. И таки теперь у нас есть кое-что, что можно эффективно посравнивать! (фильтрация и сортировка в помощь).

[p.s.]"Именительный в ед.числе" - ну, и мужской род, конечно, имеется в виду. Т.е. любое слово в этой колонке приводим к виду: Именительный падеж, Единственное число, Мужской род (если возможно, например, для прилагательных; соблюдая здравый смысл; слово "жена", конечно, не надо приводить к мужскому роду).


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 04.10.2022, 22:39
 
Ответить
СообщениеTso, жирный минус в том, что Вы не дали нормальный файл для экспериментов (эксельный файл примера с реальными данными). Тут много любознательных человеков, которые в свободную минуту с удовольствием бы поковырялись с Вашей темой. Глядишь, что-нибудь полезное и нарисовалось бы. Ну, а с фотографиями ковыряться - сами понимаете - чо с ними ковыряться?

И, кстати, 1500 строк, да и 5000 - не те объёмы для разбора, которые могут испугать настоящего рыцаря формул и макросов yes Во всяком случае, на понимание и более/менее эффективное применение нечеткого поиска уйдёт не меньше. Вот, к примеру, узнали Вы, что совпадение двух строк - 43%. Ваши дальнейшие действия? :p

"Если бы я был директором" (если бы передо мной стояла подобная задача), я бы сделал примерно следующие шаги:

1. Пронумеровал все строки в отдельном столбце - чтобы всегда можно было "вернуться", потому что я собираюсь активно применять вручную полную или частичную сортировку массивов.

2. Оставил бы в текстах только алфавитно-цифровые символы и пробелы. И удалил бы всё остальное (знаки препинания и спецсимволы) - в этом смысле scriptapplications абсолютно прав. И после этого сжал бы пробелы соответствующей функцией. И, наверное, перевел бы все символы в один регистр для единообразия, например, в строчный (маленькие буквы).

3. Разделил бы тексты по словам с помощью команды "Текст по столбцам", не упуская из виду номер строки из п.1.

4. Из получившегося материала сделал бы плоскую таблицу с двумя колонками: "Номер строки" и "Слово". На Форуме есть упоминания про "Редизайнер таблиц" - можно с его помощью, либо в Гугл таблицах есть подходящая для этой операции функция FLATTEN.

5. Дальше надо будет из значений колонки "Слово" выбрать уникальные, отсортировать их по алфавиту и справа от них создать колонку "Именительный в ед.числе". В нее надо будет поначалу скопировать значения из колонки "Слово", а затем вручную пройтись по ней, редактируя, приводя все слова в именительный падеж в единственном числе. Слова в разных падежах выстроятся рядом, поэтому достаточно будет отредактировать первое из них, а потом скопировать в нижерасположенные родственные строки.

6. Дальше надо будет "закинуть обратно" значения из отредактированной колонки "Именительный в ед.числе" в колонку "Слово" из п.4, заменив имеющиеся там слова через связь по колонке "Слово" п.п. 5 и 4.

7. После этого сортируем таблицу п.4 по возрастанию по колонкам "Номер строки" (1-й ключ сортировки) и "Слово" (2-й ключ).

8. Далее "разворачиваем" все слова одного номера по ячейкам строки вправо, т.е. придаём таблице вид как после применения команды "Текст по столбцам". Но теперь у нас все слова в именительном падеже единственного числа и внутри строки отсортированы по алфавиту.

9. Сцепляем (конкатенируем) все слова одной строки через пробел в одну ячейку. И таки теперь у нас есть кое-что, что можно эффективно посравнивать! (фильтрация и сортировка в помощь).

[p.s.]"Именительный в ед.числе" - ну, и мужской род, конечно, имеется в виду. Т.е. любое слово в этой колонке приводим к виду: Именительный падеж, Единственное число, Мужской род (если возможно, например, для прилагательных; соблюдая здравый смысл; слово "жена", конечно, не надо приводить к мужскому роду).

Автор - Gustav
Дата добавления - 04.10.2022 в 21:05
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!