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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2012, 15:42   #1
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию Динамическая выборка 2х значений

Добрый день!
Вопрос к знатокам...не могу разобраться.

Пример: шесть строк, два столбца.
140 0
130 0
125 0
85 13
75 349
70 2

Меняются динамически все значения.
Задача сводится к тому, что бы скопировать два значения. Но значения, которые необходимы, не фиксируются в строках, то есть могут быть на строку выше или ниже.
Но определение нужного числа имеет взаимосвязь с вторым столбиком, а точнее с нулями.
То есть самый нижний ноль, как в примере соответствует значению в левом столбике 125- это первое число которое необходимо скопировать. А второе число, идущее ниже нуля, но оно обязательно отличное от нуля, и может быть любым. Но интересует именно число в первом столбике, то есть 85.
Поиск первого значения возможен:

=ИНДЕКС(А1:А6;ПОИСКПОЗ(0;В1:В6;1))

а вот определение второго числа, мне не по силам(((

Последний раз редактировалось maxinv; 24.02.2012 в 13:03. Причина: смена задачи
maxinv вне форума Ответить с цитированием
Старый 23.02.2012, 16:01   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в В1 =если(A1>B1;A1;B1)
ексель ругнется о циклической ссылке, но его можно настроить:
параметры / формулы / включить итеративные вычисления - ставите птицу, предельное число итераций - ставите 1.

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.02.2012, 16:07   #3
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

спасибо за оперативность. у меня получилось B1=МАКС(B1;A1)
с числом интеграций 32000. На что влияет интеграция большая по отношению к меньшей?!
maxinv вне форума Ответить с цитированием
Старый 23.02.2012, 16:24   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

согласен, это тоже сработает. одна итерация - это Вы написали формулу в ячейке, которая требует обращения к собственному значению прежде чем решить, что туда записать.
включить итерации нужно для того, чтобы не получать постоянно сообщений о циклической ссылке. если формула вычисляет корень уравнения ссылаясь сама на себя, то безусловно необходимо итераций задать по-больше, указать точность вычислений. в данном случае - 1 итерации абсолютно достаточно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.02.2012, 16:39   #5
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

спасибо за детальный ответ)
И у меня еще проблемка)

10 8170 0
2 8150 0
2 8145 0
0 8000 56
0 7705 1
0 7665 3

вот значения, они меняются, абсолютно все, так же динамически.
Задача состоит в отборе двух значений, но они могут изменяться в строках.

К примеру: из данных выше меня интересуют только два числа, это 8145 и 8000.
Они ограничены нулями справа и нулями слева. Границу между нулями в разных столбиках можно провести. Так вот нули перемещаются. к примеру, на примере примера выше что может измениться:

10 8170 0
2 8150 0
2 8145 0
2 8000 0
0 7705 1
0 7665 3

то есть прошло изменение вниз...теперь меня интересуют только число 8000 и 7705.
Первое число копируется в одну ячейку(8000), а 7705 в другую ячейку.
Как мне это все организовать?
Предыдущее число уже не интересует, необходимо только последнее значение.Но как из примера видно, строка отбора может меняться (вниз или вверх)
maxinv вне форума Ответить с цитированием
Старый 24.02.2012, 07:01   #6
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

в условии три столбца, строк не шесть а около 40ка...для примера взял кусок три на шесть...
для меня желательно формулами, по причине не знания макросов и VBA.
maxinv вне форума Ответить с цитированием
Старый 24.02.2012, 07:09   #7
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

мне подсказали)
Для первого: =ИНДЕКС(B1:B6;ПОИСКПОЗ(0;C1:C6;1))
для второго: =ИНДЕКС(B1:B6;ПОИСКПОЗ(0;A1:A6;0))
maxinv вне форума Ответить с цитированием
Старый 24.02.2012, 09:18   #8
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в В1 =если(A1>B1;A1;B1)
ексель ругнется о циклической ссылке, но его можно настроить:
параметры / формулы / включить итеративные вычисления - ставите птицу, предельное число итераций - ставите 1.

удачи!
А как мне сделать минимальное число. то есть наоборот...
у меня в результате получается ноль(...
maxinv вне форума Ответить с цитированием
Старый 24.02.2012, 10:20   #9
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

=МИН(ЕСЛИ(A1:A10>0;A1:A10))
A10- ячейка отбора, в которую добавляется самое минимальное число
А1- ячейка, в которой постоянно меняются числа.
maxinv вне форума Ответить с цитированием
Старый 24.02.2012, 10:52   #10
maxinv
Пользователь
 
Регистрация: 23.02.2012
Сообщений: 10
По умолчанию

сейчас проверил, сама формула работает, но только у меня маленький ньюанс...
В той единственной ячейке, где числа меняются динамически, периодически проходит значение Н/Д, так как обновление иногда притормаживает, поэтому появляется такая надпись. И после этого, в ячейке где показыввается минимальное значение, появляется тоже н/Д, и даже после того момента, когда поток данных восстанавливается, то значение мин не меняется, а остается Н/Д (((
maxinv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая таблица (выборка данных на PHP) keef PHP 13 27.06.2011 23:46
С++ поиск максимального числа в...... Bezo Помощь студентам 1 27.01.2011 21:09
C++ поиск максимального числа Donatello Общие вопросы Delphi 2 29.12.2010 02:30
TASM - нахождения максимального числа из трех положительных целых чисел и умножения максимального числа iggor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.05.2009 20:16