|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.02.2012, 15:42 | #1 |
Пользователь
Регистрация: 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. Причина: смена задачи |
23.02.2012, 16:01 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
в В1 =если(A1>B1;A1;B1)
ексель ругнется о циклической ссылке, но его можно настроить: параметры / формулы / включить итеративные вычисления - ставите птицу, предельное число итераций - ставите 1. удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.02.2012, 16:07 | #3 |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
спасибо за оперативность. у меня получилось B1=МАКС(B1;A1)
с числом интеграций 32000. На что влияет интеграция большая по отношению к меньшей?! |
23.02.2012, 16:24 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
согласен, это тоже сработает. одна итерация - это Вы написали формулу в ячейке, которая требует обращения к собственному значению прежде чем решить, что туда записать.
включить итерации нужно для того, чтобы не получать постоянно сообщений о циклической ссылке. если формула вычисляет корень уравнения ссылаясь сама на себя, то безусловно необходимо итераций задать по-больше, указать точность вычислений. в данном случае - 1 итерации абсолютно достаточно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.02.2012, 16:39 | #5 |
Пользователь
Регистрация: 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 в другую ячейку. Как мне это все организовать? Предыдущее число уже не интересует, необходимо только последнее значение.Но как из примера видно, строка отбора может меняться (вниз или вверх) |
24.02.2012, 07:01 | #6 |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
в условии три столбца, строк не шесть а около 40ка...для примера взял кусок три на шесть...
для меня желательно формулами, по причине не знания макросов и VBA. |
24.02.2012, 07:09 | #7 |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
мне подсказали)
Для первого: =ИНДЕКС(B1:B6;ПОИСКПОЗ(0;C1:C6;1)) для второго: =ИНДЕКС(B1:B6;ПОИСКПОЗ(0;A1:A6;0)) |
24.02.2012, 09:18 | #8 | |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
Цитата:
у меня в результате получается ноль(... |
|
24.02.2012, 10:20 | #9 |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
=МИН(ЕСЛИ(A1:A10>0;A1:A10))
A10- ячейка отбора, в которую добавляется самое минимальное число А1- ячейка, в которой постоянно меняются числа. |
24.02.2012, 10:52 | #10 |
Пользователь
Регистрация: 23.02.2012
Сообщений: 10
|
сейчас проверил, сама формула работает, но только у меня маленький ньюанс...
В той единственной ячейке, где числа меняются динамически, периодически проходит значение Н/Д, так как обновление иногда притормаживает, поэтому появляется такая надпись. И после этого, в ячейке где показыввается минимальное значение, появляется тоже н/Д, и даже после того момента, когда поток данных восстанавливается, то значение мин не меняется, а остается Н/Д ((( |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическая таблица (выборка данных на 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 |