Салют участникам! Пытаюсь полуавтоматизировать анализ 51 счёта 1С, с помощью пользовательской функции Split. Проблема 1 - чувствительность к регистру. Как заставить Split воспринимать "Сч" и "сч" одинаково, чтобы упростить формулу в столбце H? Проблема 2 - иногда попутаны местами фрагменты в исходном тексте, из-за чего неверно извлекаются затраты, например "материалы сч.3 от 13.01.2016г." и " сч.3 от 13.01.2016г. материалы" - в данном случае нужно извлечь "материалы", но функция split реагирует на "сч", как тогда задать смещение или чего, чтоб "материалы" или другие наименования извлекались в любом случае?
Салют участникам! Пытаюсь полуавтоматизировать анализ 51 счёта 1С, с помощью пользовательской функции Split. Проблема 1 - чувствительность к регистру. Как заставить Split воспринимать "Сч" и "сч" одинаково, чтобы упростить формулу в столбце H? Проблема 2 - иногда попутаны местами фрагменты в исходном тексте, из-за чего неверно извлекаются затраты, например "материалы сч.3 от 13.01.2016г." и " сч.3 от 13.01.2016г. материалы" - в данном случае нужно извлечь "материалы", но функция split реагирует на "сч", как тогда задать смещение или чего, чтоб "материалы" или другие наименования извлекались в любом случае?Ralf
1. LCase() и UCase() — перевести строку в нижний и верхний регистры соответственно 2. Опишите словами - что и почему нужно вынимать из столбца А. [moder]И по Правилам форума один вопрос - одна тема.
1. LCase() и UCase() — перевести строку в нижний и верхний регистры соответственно 2. Опишите словами - что и почему нужно вынимать из столбца А. [moder]И по Правилам форума один вопрос - одна тема._Boroda_
Ok, с регистром разобрался, LCase() работает, осталась проблема 2, в 1 случае когда "сч" следует после наименования затрат - затраты извлекаются в столбец H, в случае когда "Сч.3 от 13.01.2016г. материалы" как задать смещение после "Сч", чтобы получить "материалы" Небольшое пояснение - сплит() возвращает нужную часть после CHR10 (символ перехода на новую строку), и от этой части уже нужно извлечь наименование, я решил что лучше привязаться к "сч" поскольку он во всех фразах присутствует, но может другие решения есть. Кол-во символов в номере счёта разное Пока вот что придумал: сплит1(сплит(C4;2);2) - извлекаем 2 часть предпоследнего "этажа" после "Сч.", осталось только удалить из неё спереди сам номер и дату, включая "г." [moder]Комментарий модератора выше видели?
Ok, с регистром разобрался, LCase() работает, осталась проблема 2, в 1 случае когда "сч" следует после наименования затрат - затраты извлекаются в столбец H, в случае когда "Сч.3 от 13.01.2016г. материалы" как задать смещение после "Сч", чтобы получить "материалы" Небольшое пояснение - сплит() возвращает нужную часть после CHR10 (символ перехода на новую строку), и от этой части уже нужно извлечь наименование, я решил что лучше привязаться к "сч" поскольку он во всех фразах присутствует, но может другие решения есть. Кол-во символов в номере счёта разное Пока вот что придумал: сплит1(сплит(C4;2);2) - извлекаем 2 часть предпоследнего "этажа" после "Сч.", осталось только удалить из неё спереди сам номер и дату, включая "г." [moder]Комментарий модератора выше видели?Ralf
Сообщение отредактировал Ralf - Среда, 04.05.2016, 15:58
Ув. модератор, Ваш комментарий выше видел, однако считаю, что оба вопроса в равной мере связаны с темой. Впрочем, можете тему закрыть, дальше сам додумаю. [moder]Вы правы - оба этих вопроса с темой связаны. Впрочем, также, как и множество других возможных вопросов по извлечению части текста. Но в п.4 Правил четко сказано: "Один вопрос - одна тема". И не важно, связаны эти вопросы или нет. Поэтому не обижайтесь, а просто создайте еще один вопрос. Тем более, что решение уже готово. Думаю, что не только у меня.
Ув. модератор, Ваш комментарий выше видел, однако считаю, что оба вопроса в равной мере связаны с темой. Впрочем, можете тему закрыть, дальше сам додумаю. [moder]Вы правы - оба этих вопроса с темой связаны. Впрочем, также, как и множество других возможных вопросов по извлечению части текста. Но в п.4 Правил четко сказано: "Один вопрос - одна тема". И не важно, связаны эти вопросы или нет. Поэтому не обижайтесь, а просто создайте еще один вопрос. Тем более, что решение уже готово. Думаю, что не только у меня.Ralf
Сообщение отредактировал _Boroda_ - Среда, 04.05.2016, 16:34
В Правилах, на которые Вы ссылаетесь, написано "Нельзя в одной теме задавать несколько не связанных одной темой вопросов", т.е. авторы этих Правил всё же придавали значение связанности этих нескольких вопросов :D Просто связь тут возможно не такая явная. Я ведь не стал в предыдущей теме "Работа с текстом. Извлечение части текста" задавать эти вопросы - там анализировался 62 счёт на предмет извлечения даты и №, а теперь уже 51 счёт и задачи соответственно встают иные. Вопрос 2 с положением фрагментов уже решил, так что тему можете закрыть. Хотя полностью избавиться от проблемы извлечения информации не получилось, т.к. на большей выборке имеют место больше нюансов, которые не стоят интеллектуальных усилий - например отсутствует "г." после даты, либо несколько форматов даты, также встречаются предлоги, сокращения. В любом случае благодарю за содействие. [moder]Дело Ваше, хотите объяснять нам, как понимать Правила - пожалуйста, объясняйте, а хотите решить свою задачу - тоже пожалуйста, я уже написал выше, что для этого нужно сделать. И еще раз повторяю, что решение уже готово. Кстати, формулой, без макросов.
В Правилах, на которые Вы ссылаетесь, написано "Нельзя в одной теме задавать несколько не связанных одной темой вопросов", т.е. авторы этих Правил всё же придавали значение связанности этих нескольких вопросов :D Просто связь тут возможно не такая явная. Я ведь не стал в предыдущей теме "Работа с текстом. Извлечение части текста" задавать эти вопросы - там анализировался 62 счёт на предмет извлечения даты и №, а теперь уже 51 счёт и задачи соответственно встают иные. Вопрос 2 с положением фрагментов уже решил, так что тему можете закрыть. Хотя полностью избавиться от проблемы извлечения информации не получилось, т.к. на большей выборке имеют место больше нюансов, которые не стоят интеллектуальных усилий - например отсутствует "г." после даты, либо несколько форматов даты, также встречаются предлоги, сокращения. В любом случае благодарю за содействие. [moder]Дело Ваше, хотите объяснять нам, как понимать Правила - пожалуйста, объясняйте, а хотите решить свою задачу - тоже пожалуйста, я уже написал выше, что для этого нужно сделать. И еще раз повторяю, что решение уже готово. Кстати, формулой, без макросов.Ralf
Сообщение отредактировал Ralf - Среда, 04.05.2016, 19:09