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

Вход

Регистрация

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

 

= Мир MS Excel/Обработка массива правилом if then - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обработка массива правилом if then (Формулы/Formulas)
Обработка массива правилом if then
Инкогнитовский Дата: Среда, 27.07.2016, 13:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Товарищи, задачка простенькая но т.к. в VBA не селен что то бьюсь уже долго, подскажите. Есть на одной странице в один столбец данные по компаниям вида
1. Название компании: (ОНО ВСЕГДА КАПСОМ НАПИСАНО и начинается с порядковой цифры)
ФИО Дира:
Телефон:
эмайл:
сайт:

2. Название компании:
ФИО Дира:
Телефон:
Факс:

и Так далее

Нужно обработать этот массив и составить из него на второй странице табличку. Обрабатывать хочу правилом. If строка написана капсом и начинается с цифры then ее значение перенести на второй лист в ячейку А1 (номер строки в которую надо данные перенести будут определять по порядковому номеру компании, или может перменную ввести чтоб на единичку увеличивалась после обработки одной компании). If строка содержит "ФИО Дира:" then перенести ее содержимое в ячейку А2, If строка содержит "Телефон:" then перенести ее ячеку в А3.

Подскажите как и где прописать это условие If строка содержит то что я хочу then копирую ее содержимое в определенную ячейку на определенный лист. Понимаю что это делается в VBA, но никак не пойму как это кодом реализовать, ведь ему каждую божую ячейку надо проверять на все условия...

п.с. иногда нет ФИО, иногда нет телефона компании, поэтому НЕТ закономерности расположения данных в исходном столбце. по одной компании может быть 6 строк инфы а по другой 4, а по третье 10. Поэтому нельзя тупо из вертикального вида по формулам каждую ячейку в горизонтальный вид перенести.


Сообщение отредактировал Инкогнитовский - Среда, 27.07.2016, 14:02
 
Ответить
СообщениеТоварищи, задачка простенькая но т.к. в VBA не селен что то бьюсь уже долго, подскажите. Есть на одной странице в один столбец данные по компаниям вида
1. Название компании: (ОНО ВСЕГДА КАПСОМ НАПИСАНО и начинается с порядковой цифры)
ФИО Дира:
Телефон:
эмайл:
сайт:

2. Название компании:
ФИО Дира:
Телефон:
Факс:

и Так далее

Нужно обработать этот массив и составить из него на второй странице табличку. Обрабатывать хочу правилом. If строка написана капсом и начинается с цифры then ее значение перенести на второй лист в ячейку А1 (номер строки в которую надо данные перенести будут определять по порядковому номеру компании, или может перменную ввести чтоб на единичку увеличивалась после обработки одной компании). If строка содержит "ФИО Дира:" then перенести ее содержимое в ячейку А2, If строка содержит "Телефон:" then перенести ее ячеку в А3.

Подскажите как и где прописать это условие If строка содержит то что я хочу then копирую ее содержимое в определенную ячейку на определенный лист. Понимаю что это делается в VBA, но никак не пойму как это кодом реализовать, ведь ему каждую божую ячейку надо проверять на все условия...

п.с. иногда нет ФИО, иногда нет телефона компании, поэтому НЕТ закономерности расположения данных в исходном столбце. по одной компании может быть 6 строк инфы а по другой 4, а по третье 10. Поэтому нельзя тупо из вертикального вида по формулам каждую ячейку в горизонтальный вид перенести.

Автор - Инкогнитовский
Дата добавления - 27.07.2016 в 13:57
abtextime Дата: Среда, 27.07.2016, 14:02 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Инкогнитовский,

Привет

Если всё, как Вы описали, то можно и формулами (если всё блоками по 4 строки идет (3 заполненные и 1 пустая). Смотрите функции СТРОКА() и ОСТАТ().

Подробнее при наличии файла-примера


Вижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них


Сообщение отредактировал abtextime - Среда, 27.07.2016, 14:05
 
Ответить
СообщениеИнкогнитовский,

Привет

Если всё, как Вы описали, то можно и формулами (если всё блоками по 4 строки идет (3 заполненные и 1 пустая). Смотрите функции СТРОКА() и ОСТАТ().

Подробнее при наличии файла-примера


Вижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них

Автор - abtextime
Дата добавления - 27.07.2016 в 14:02
Инкогнитовский Дата: Среда, 27.07.2016, 14:04 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
[moder]Излишнее цитирование удалено[/moder]
в том то сложность что блоками разными все идет. может блок быть из 5 строк, потом из 10, потом из 8 и т.д.


Сообщение отредактировал Pelena - Среда, 27.07.2016, 19:06
 
Ответить
Сообщение[moder]Излишнее цитирование удалено[/moder]
в том то сложность что блоками разными все идет. может блок быть из 5 строк, потом из 10, потом из 8 и т.д.

Автор - Инкогнитовский
Дата добавления - 27.07.2016 в 14:04
abtextime Дата: Среда, 27.07.2016, 14:06 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Вижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них
 
Ответить
СообщениеВижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них

Автор - abtextime
Дата добавления - 27.07.2016 в 14:06
Инкогнитовский Дата: Среда, 27.07.2016, 14:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Вижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них
К сообщению приложен файл: Z2.xltm(17Kb)
 
Ответить
Сообщение
Вижу, что структура не регулярная, но всё равно можно формулами. Дайте кусок реальных данных и что хотите на выходе от них

Автор - Инкогнитовский
Дата добавления - 27.07.2016 в 14:09
abtextime Дата: Среда, 27.07.2016, 15:13 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Сделал на скору руку формулами, но с дополнительным листом для расчетов. Наверняка этот доплист можно убрать, но нужно с массивными формулами возиться, а я в них не силён.

Можно и в VBA сделать, трудозатраты примерно те же, а может быть и меньше
К сообщению приложен файл: Z22.xlsx(25Kb)
 
Ответить
СообщениеСделал на скору руку формулами, но с дополнительным листом для расчетов. Наверняка этот доплист можно убрать, но нужно с массивными формулами возиться, а я в них не силён.

Можно и в VBA сделать, трудозатраты примерно те же, а может быть и меньше

Автор - abtextime
Дата добавления - 27.07.2016 в 15:13
Инкогнитовский Дата: Среда, 27.07.2016, 16:33 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
[moder]Излишнее цитирование удалено[/moder]
Спасибо за помощь. Не допер, что можно отдельные промежуточные вычисления делать на дополнительной странице, самый простой способ имхо, и мне понятно что откуда и куда в формулах. а то Меня сразу в VBA понесло, а я там не шарю совсем. Допилил чуть, чтоб имэйл и сайт сразу в одну ячейку собирались. specool


Сообщение отредактировал Pelena - Среда, 27.07.2016, 19:05
 
Ответить
Сообщение[moder]Излишнее цитирование удалено[/moder]
Спасибо за помощь. Не допер, что можно отдельные промежуточные вычисления делать на дополнительной странице, самый простой способ имхо, и мне понятно что откуда и куда в формулах. а то Меня сразу в VBA понесло, а я там не шарю совсем. Допилил чуть, чтоб имэйл и сайт сразу в одну ячейку собирались. specool

Автор - Инкогнитовский
Дата добавления - 27.07.2016 в 16:33
krosav4ig Дата: Среда, 27.07.2016, 16:44 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1465
Репутация: 596 ±
Замечаний: 0% ±

Excel 2007, 2013
исчо вариант формулами (1 доп. столбец + 2 формулы в диспетчере имен)
К сообщению приложен файл: Z21.xlsx(33Kb)


(_)Õvõ(_)
 
Ответить
Сообщениеисчо вариант формулами (1 доп. столбец + 2 формулы в диспетчере имен)

Автор - krosav4ig
Дата добавления - 27.07.2016 в 16:44
Матраскин Дата: Среда, 27.07.2016, 17:09 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 370
Репутация: 81 ±
Замечаний: 0% ±

20xx
похоже кто то сделал доброе дело и выгрузил это из какой то БД в таком виде. Попопросите выгрузить в виде csv файла.


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Среда, 27.07.2016, 17:09
 
Ответить
Сообщениепохоже кто то сделал доброе дело и выгрузил это из какой то БД в таком виде. Попопросите выгрузить в виде csv файла.

Автор - Матраскин
Дата добавления - 27.07.2016 в 17:09
Инкогнитовский Дата: Четверг, 28.07.2016, 11:06 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Я сам и выгружаю, выгрузить можно только в txt и никак иначе. а уже его можно открыть через эксель и обработать в удобоваримый вид.
Выражаю огромную благодарность за помощь abtextime и krosav4ig (не могу + в репу поставить - пишет только через 24 часа можно, но обязательно поставлю). Вопрос закрыт.
 
Ответить
СообщениеЯ сам и выгружаю, выгрузить можно только в txt и никак иначе. а уже его можно открыть через эксель и обработать в удобоваримый вид.
Выражаю огромную благодарность за помощь abtextime и krosav4ig (не могу + в репу поставить - пишет только через 24 часа можно, но обязательно поставлю). Вопрос закрыт.

Автор - Инкогнитовский
Дата добавления - 28.07.2016 в 11:06
krosav4ig Дата: Четверг, 28.07.2016, 20:08 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1465
Репутация: 596 ±
Замечаний: 0% ±

Excel 2007, 2013
Цитата Инкогнитовский, 28.07.2016 в 11:06, в сообщении № 10
txt
Ну это ж совсем другое дело
ПКМ по A1 на листе исходник > Обновить > выбираете ваш txt файл>импорт>на листе результат протягиваете формулы вниз
К сообщению приложен файл: Z20.xlsx(18Kb)


(_)Õvõ(_)

Сообщение отредактировал krosav4ig - Пятница, 29.07.2016, 00:51
 
Ответить
Сообщение
Цитата Инкогнитовский, 28.07.2016 в 11:06, в сообщении № 10
txt
Ну это ж совсем другое дело
ПКМ по A1 на листе исходник > Обновить > выбираете ваш txt файл>импорт>на листе результат протягиваете формулы вниз

Автор - krosav4ig
Дата добавления - 28.07.2016 в 20:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обработка массива правилом if then (Формулы/Formulas)
Страница 1 из 11
Поиск:

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