Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 18:34   #1
office_work
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию Помогите составить формулу, пожалуйста

Очень нужно, помогите.
Имеются цифры в столбиках E и F. Цифры могут повторяться, а могут встречаться один лишь раз.
Какую формулу необходимо написать, чтобы один раз выбрать цифры из встречающихся в столбиках E и F (даже если цифра повторяются, ее надо выдрать только один раз), перенести их в столбик, например G и отсортировать их там в взрастающем порядке.
Например,

Значения E – 145 200 190 145 300
Значения F – 200 350 89 350 600
Результат

Значения
G – 89 145 190 200 300 350 600

Спасибо.
office_work вне форума Ответить с цитированием
Старый 01.12.2009, 18:46   #2
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

В формулах не силен, но как вариант можно составить столбцы в один и воспользоваться опцией Данные->Удалить дубликаты...
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 01.12.2009, 18:55   #3
office_work
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Xpoft Посмотреть сообщение
В формулах не силен, но как вариант можно составить столбцы в один и воспользоваться опцией Данные->Удалить дубликаты...
Надо формулой. Диапазон сильно большой. Девочка, которая заполняет данные, обязательно напутает и скопирует данные (с удаленными дубликатами) не в ту колонку (не в G, а куда-то еще), поломает остальные формулы. На листе с G колонкой ничего руками вносить не надо. Можно, конечно, запретить редактирование остальных колонок (кроме G)... Но хочется формулой...
office_work вне форума Ответить с цитированием
Старый 01.12.2009, 21:29   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

одной не получилось - две формулы.
Вложения
Тип файла: rar Книга214.rar (3.6 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.12.2009, 21:38   #5
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

!!! IgorGO!!! Не всегда врубаюсь в твои формулы. Не мог бы пояснить?
Честно говоря пошел через ЧАСТОТА но запутался...
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 01.12.2009, 22:23   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

IgorGO,
да,сильно!
ZORRO2005 вне форума Ответить с цитированием
Старый 01.12.2009, 22:53   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Спасибо, господа!
хотя... могли и поправить... я задумался и стало ясно, что можно гораздо проще - вместо:
Код:
=НАИБОЛЬШИЙ((C[-2]:C[-1]>R[-1]C)*C[-2]:C[-1];СУММПРОИЗВ(--(C[-2]:C[-1]>R[-1]C)))
вполне достаточно:
Код:
=НАИБОЛЬШИЙ(C[-2]:C[-1];СУММПРОИЗВ(--(C[-2]:C[-1]>R[-1]C)))
(и без формулы массива)
и та и та формулы находят наименьшее значение из всех, которые больше предыдущего (находящегося строкой выше, в R[-1]C).
Код:
СУММПРОИЗВ(--(C[-2]:C[-1]>R[-1]C))
считает количество значений в исходных данных, которые больше предыдущего. Если рассмотреть строку 6 (там высчитано число 350), то получено оно так: предудущее значение 300, значений больше 300 в исходных - 3 штуки (350,350,600) соответсвенно, 3-й наибольший из всех будет 350.
В первом варианте я с какого-то перепуга оставлял из всех данных только, те, которые больше предыдущего, остальные становились нулями (а зачем...?). Обьяснить это можно, видимо, только тем, что так формула записывается длинее, выглядит солиднее, а я, соответственно, - умнее.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 01.12.2009 в 22:55.
IgorGO вне форума Ответить с цитированием
Старый 02.12.2009, 11:53   #8
office_work
 
Регистрация: 01.12.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
одной не получилось - две формулы.
Спасибо огромное
office_work вне форума Ответить с цитированием
Старый 02.12.2009, 13:25   #9
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Вариации на тему:
{=НАИМЕНЬШИЙ(ЕСЛИ(E:F>H1;E:F);1)}
{=МИН(ЕСЛИ($E$1:$F$5>I1;$E$1:$F$5)) }
Вложения
Тип файла: rar _МИН_.rar (3.8 Кб, 14 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 02.12.2009, 13:45   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

однако... век живи...
всегда считал, что ЛОЖЬ в выражениях, где она вступает в отношения с числами, заменяется на 0 (например: =5*Ложь - рузельтат = 0) и, соответственно, был уверен, что мин({5;10;ЛОЖЬ}) выдаст ЛОЖЬ или 0, а выдает 5... неожиданно

DV68, спасибо. Теперь буду знать.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста составить формулу даты! KOSTIK1 Microsoft Office Excel 4 29.11.2009 18:46
Помогите пожалуйста решить две задачи по паскалю и составить и составить блок схему! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 2 20.01.2009 09:37
Помогите составить формулу !!!! kutt Microsoft Office Excel 4 24.05.2008 11:44