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

Вход

Регистрация

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

 

= Мир MS Excel/Одна и та же формула выдает разный результат - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Одна и та же формула выдает разный результат (Формулы/Formulas)
Одна и та же формула выдает разный результат
ade854 Дата: Понедельник, 11.08.2014, 18:29 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Одна и та же формула в разных ячейках листа выдает разный результат,
хотя ссылается на одни и те же ячейки,
все ссылки фиксированные.

см колонку D на листе Сводный в примере.

В чем причина, и как устранить?
К сообщению приложен файл: All_Beet_v1.xls (33.0 Kb)


Сообщение отредактировал ade854 - Понедельник, 11.08.2014, 21:54
 
Ответить
СообщениеОдна и та же формула в разных ячейках листа выдает разный результат,
хотя ссылается на одни и те же ячейки,
все ссылки фиксированные.

см колонку D на листе Сводный в примере.

В чем причина, и как устранить?

Автор - ade854
Дата добавления - 11.08.2014 в 18:29
Pelena Дата: Понедельник, 11.08.2014, 18:39 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
В чем причина

В том, что вот эта часть формулы
Код
СЧЁТЗ(ELAN_TMP!$B$16:$B$248)

при пустом столбце B даёт 0. А в этом случае функция ИНДЕКС() возвращает не одно значение, а весь массив.

как устранить?

заполнить хотя бы одно значение в диапазоне ELAN_TMP!$B$16:$B$248


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
В чем причина

В том, что вот эта часть формулы
Код
СЧЁТЗ(ELAN_TMP!$B$16:$B$248)

при пустом столбце B даёт 0. А в этом случае функция ИНДЕКС() возвращает не одно значение, а весь массив.

как устранить?

заполнить хотя бы одно значение в диапазоне ELAN_TMP!$B$16:$B$248

Автор - Pelena
Дата добавления - 11.08.2014 в 18:39
_Boroda_ Дата: Понедельник, 11.08.2014, 20:18 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
в этом случае функция ИНДЕКС() возвращает не одно значение, а весь массив.
а дальше работает очень любопытная штука - называется неявное пересечение диапазонов. Обратите внимание - с 16-й строки идут нули, а с 21-й - трехсотки. Почему? А просто потому, что на листе ELAN_TMP мы наблюдаем аналогичную картину. Excel это тоже видит и, строя из себя самого умного, решает за нас, что, дескать, уж коли у нас в ячейке вертикальный массив, то там, где номер строки, в которой расположена сама формула, дающая этот массив, совпадает с номером строки непосредственно самого массива, то там давайте напишем то значение из массива, которое на листе ELAN_TMP стоит в соответствующей строке.
Самый простой способ лечения предложила Лена - просто что-то заполнить в листе ELAN_TMP. Если это не подходит, то можно немного переписать формулу
Код
=ЕСЛИ(ЕЧИСЛО(-ИНДЕКС(ELAN_TMP!$K$15:$K$248;СЧЁТЗ(ELAN_TMP!$B$16:$B$248)+1));ИНДЕКС(ELAN_TMP!$K$15:$K$248;СЧЁТЗ(ELAN_TMP!$B$16:$B$248)+1);" ")
Обратите внимание - в ИНДЕКСЕ начало не с 16-й строки, а с 15-й.
К сообщению приложен файл: All_Beet_v1_11.xls (33.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
в этом случае функция ИНДЕКС() возвращает не одно значение, а весь массив.
а дальше работает очень любопытная штука - называется неявное пересечение диапазонов. Обратите внимание - с 16-й строки идут нули, а с 21-й - трехсотки. Почему? А просто потому, что на листе ELAN_TMP мы наблюдаем аналогичную картину. Excel это тоже видит и, строя из себя самого умного, решает за нас, что, дескать, уж коли у нас в ячейке вертикальный массив, то там, где номер строки, в которой расположена сама формула, дающая этот массив, совпадает с номером строки непосредственно самого массива, то там давайте напишем то значение из массива, которое на листе ELAN_TMP стоит в соответствующей строке.
Самый простой способ лечения предложила Лена - просто что-то заполнить в листе ELAN_TMP. Если это не подходит, то можно немного переписать формулу
Код
=ЕСЛИ(ЕЧИСЛО(-ИНДЕКС(ELAN_TMP!$K$15:$K$248;СЧЁТЗ(ELAN_TMP!$B$16:$B$248)+1));ИНДЕКС(ELAN_TMP!$K$15:$K$248;СЧЁТЗ(ELAN_TMP!$B$16:$B$248)+1);" ")
Обратите внимание - в ИНДЕКСЕ начало не с 16-й строки, а с 15-й.

Автор - _Boroda_
Дата добавления - 11.08.2014 в 20:18
Pelena Дата: Понедельник, 11.08.2014, 20:20 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Только сейчас заметила, что между 3 и 4 постом прошло полтора года. А диалог будто и не прерывался :D


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТолько сейчас заметила, что между 3 и 4 постом прошло полтора года. А диалог будто и не прерывался :D

Автор - Pelena
Дата добавления - 11.08.2014 в 20:20
Pelena Дата: Понедельник, 11.08.2014, 20:39 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Разделила темы


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеРазделила темы

Автор - Pelena
Дата добавления - 11.08.2014 в 20:39
ikki Дата: Понедельник, 11.08.2014, 21:38 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Разделила темы
в результате первый пост начинаестся с
Serge_007,


и кто меня будет лечить от сумасшествия?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Разделила темы
в результате первый пост начинаестся с
Serge_007,


и кто меня будет лечить от сумасшествия?

Автор - ikki
Дата добавления - 11.08.2014 в 21:38
ade854 Дата: Понедельник, 11.08.2014, 21:39 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, это потому, что участники разные ;=)
думаю, был нарушен другой пункт - мне следовало открыть новую тему.

Просто Serge_007 сообщил, что такое поведение формул - обычное дело,
поэтому я к нему персонально обратился за помощью в этой ветке,
хотя тема ветки другая - следовало самому открыть новую,
грешен, каюсь ;=)
 
Ответить
Сообщение_Boroda_, это потому, что участники разные ;=)
думаю, был нарушен другой пункт - мне следовало открыть новую тему.

Просто Serge_007 сообщил, что такое поведение формул - обычное дело,
поэтому я к нему персонально обратился за помощью в этой ветке,
хотя тема ветки другая - следовало самому открыть новую,
грешен, каюсь ;=)

Автор - ade854
Дата добавления - 11.08.2014 в 21:39
ade854 Дата: Понедельник, 11.08.2014, 21:42 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
ikki, поправил.
 
Ответить
Сообщениеikki, поправил.

Автор - ade854
Дата добавления - 11.08.2014 в 21:42
ade854 Дата: Понедельник, 11.08.2014, 22:03 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena, спасибо!
как вариант.
 
Ответить
СообщениеPelena, спасибо!
как вариант.

Автор - ade854
Дата добавления - 11.08.2014 в 22:03
ade854 Дата: Понедельник, 11.08.2014, 22:09 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, спасибо!
Применил именно это решение - чуть сложнее, но более универсально,
и нет риска случайно убить "затычку" в диапазоне $B$16:$B$248,
а главное - теперь понятна суть явления,
я предполагал, что MS где-то за меня "додумал",
и не обратил внимания, что "странное" поведение формул начинается с 16й строки (первая строка анализируемого интервала) и 27й (первая строка со значением).
 
Ответить
Сообщение_Boroda_, спасибо!
Применил именно это решение - чуть сложнее, но более универсально,
и нет риска случайно убить "затычку" в диапазоне $B$16:$B$248,
а главное - теперь понятна суть явления,
я предполагал, что MS где-то за меня "додумал",
и не обратил внимания, что "странное" поведение формул начинается с 16й строки (первая строка анализируемого интервала) и 27й (первая строка со значением).

Автор - ade854
Дата добавления - 11.08.2014 в 22:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Одна и та же формула выдает разный результат (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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