Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Пакет Microsoft Office

  Все выпуски  

RusFAQ.ru: Пакет Microsoft Office


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Помощь пользователю ПО / Пакет Microsoft Office

Выпуск № 646
от 08.09.2008, 23:05

Администратор:Ерёмин А.А.
В рассылке:Подписчиков: 385, Экспертов: 80
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 142967: Добрый день, в ячейках таблицы есть перечень номеров, например в таких форматах: а)несколько строк с разделителями ; и переносом строки "160; 106; 5037;" б)строка с разделителями ; и пробелами: 160; 106;503...

Вопрос № 142.967
Добрый день,

в ячейках таблицы есть перечень номеров, например в таких форматах:

а)несколько строк с разделителями ; и переносом строки
"160;
106;
5037;"

б)строка с разделителями ; и пробелами:
160; 106;5037;

в)любой из этих двух форматов

Нужно вернуть количество номеров, записанных в ячейке. Как это сделать?

Спасибо.
Отправлен: 03.09.2008, 10:20
Вопрос задал: Владимир Яковлев (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: megaloman
Здравствуйте, Владимир Яковлев!

Я не придумал, как решить задачу стандартными функциями Excel
Поэтому предлагаю решение, связанное с функцией, определенной пользователем.
У меня Office2003, решение совместимо с Office XP, 2000. За Office2007 отвечать не берусь, не пробовал.

Идея решения:
подсчитаем в Вашей строке число разделителей, которое, в соответствии с постановкой Вами задачи, соответствует числу номеров

Реализация решения:

1. Определяем функцию пользователя.
Я назвал её CountSeparator (регистр важен, как напишем, так надо и использовать)
Естественно, Вы вольны назвать её как угодно Вам.

Прежде всего:
В таблице Excel - Сервис-Макрос-Безопасность выставьте уровень безопасности не выше среднего.
Должен отметить, эта настройка скажется на уровне безопасности для всех обрабатываемых Вами на этом компе таблиц.

Далее:
Сервис-Макрос-Редактор VisualBasic - Insert -Module - В открывшемся справа окне вносим текс т функции CountSeparator.
(текст привожу в приложении, можете его оттуда скопировать).
Закроем Редактор VisualBasic

2. Использование функции - совершенно такое же, как и стандартной функции.
Например, если в ячейке A1 содержится строка 160; 106;5037;
то в соседней ячейке формула =CountSeparator(A1;";") вернёт значение 3
Первый аргумент функции CountSeparator должен содержать строку (или ссылку на клетку со строкой)
Второй аргумент функции должен содержать символ, который служит разделителем.
Функция отрабатывает все приведенные Вами примеры.

Задача решена.

Приложение:

---------
Нет времени на медленные танцы

Ответ отправил: megaloman (статус: Практикант)
Ответ отправлен: 03.09.2008, 22:22


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.2 RC 1 от 03.09.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное