Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
   
  ГлавнаяСправкаПоискВходРегистрация  
 
Переключение на Главную Страницу Страниц: 1
Печать
Про Excel... (Прочитано 1 774 раз)
Vitya
Специалист
****
Вне Форума



Настрочил: 927
Серов
Пол: male
Про Excel...
17.12.2004 :: 14:36:11
 
Как средствами Ексел сделать так чтобы в формулу подставлялись номера ячеек, которые написаны в других ячейках. Поясню на примере.
      A          B            C
1    12        1            3
2    11
3    45
4    34        68
5     6
6     3
В ячейке B4 формула =сумм(А1:А3), как видно порядковые номера ячейки А прописанны в ячейках B1 и C1. Нужно чтобы только поменя значения в ячейках В1 и С1 поменяласьбы формула (например поменяли на 1 и 2 - значение в В4 = 23)
Наверх
 
WWW 123947662  
IP записан
 
ac_pavel
Специалист
Модератор
****
Вне Форума


этот форум

Настрочил: 1 056
Re: Про Excel...
Ответ #1 - 17.12.2004 :: 16:35:10
 
Да это просто делается
Нужно набрать следующую формулу
=СУММ((СТРОКА(A1:A6)>=B1)*(СТРОКА(A1:A6)<=C1)*A1:A6)

и нажать вместо ентера   ctrl+shift+enter
Наверх
 
 
IP записан
 
fonya
Экс-Участник
**


-:)

Пол: female
Re: Про Excel...
Ответ #2 - 18.12.2004 :: 01:14:46
 
Цитата:
Да это просто делается
Нужно набрать следующую формулу
=СУММ((СТРОКА(A1:A6)>=B1)*(СТРОКА(A1:A6)<=C1)*A1:A6)

и нажать вместо ентера   ctrl+shift+enter


Спасибо,точно работает.
Наверх
 
Hi
 
IP записан
 
Vitya
Специалист
****
Вне Форума



Настрочил: 927
Серов
Пол: male
Re: Про Excel...
Ответ #3 - 20.12.2004 :: 16:42:48
 
Цитата:
Да это просто делается
Нужно набрать следующую формулу
=СУММ((СТРОКА(A1:A6)>=B1)*(СТРОКА(A1:A6)<=C1)*A1:A6)

и нажать вместо ентера   ctrl+shift+enter


Огромное спасибо, все классно работает.

Наверх
 
WWW 123947662  
IP записан
 
Redmonk
Писатель
*****
Вне Форума


Alter ego

Настрочил: 2 778
Фигу!
Пол: male
Re: Про Excel...
Ответ #4 - 27.12.2004 :: 03:26:36
 
еще вариант есть с форматом жесткого тогда уже речь не будет идти не о каких ячейках Улыбка))
Наверх
 

мой мозг скоро лопнет...
217444102  
IP записан
 
Vitya
Специалист
****
Вне Форума



Настрочил: 927
Серов
Пол: male
Re: Про Excel...
Ответ #5 - 27.12.2004 :: 12:56:35
 
Цитата:
Да это просто делается
Нужно набрать следующую формулу
=СУММ((СТРОКА(A1:A6)>=B1)*(СТРОКА(A1:A6)<=C1)*A1:A6)

и нажать вместо ентера   ctrl+shift+enter


А логику всего этого можно объяснить или ткнуть в место? (я весь мануал перекопал не нашел)
Наверх
 
WWW 123947662  
IP записан
 
ac_pavel
Специалист
Модератор
****
Вне Форума


этот форум

Настрочил: 1 056
Re: Про Excel...
Ответ #6 - 27.12.2004 :: 14:23:25
 
В справке по екселю найти "Создание формулы массива".
Формула массива это формула, выполняющая несколько вычислений над одним или несколькими наборами значений, а затем возвращающая один или несколько результатов. Формулы массива заключены в фигурные скобки { } и вводятся нажатием клавиш CTRL+SHIFT+ВВОД.

Например ={СУММ(A1:A3 / B1:B3)}  разворачивается в
(A1 / B1) + (A2 / B2) + (A3 / B3)

Значит
={СУММ((СТРОКА(A1:A6)>=B1)*(СТРОКА(A1:A6)<=C1)*A1:A6)}
развернётся в
(СТРОКА(A1)>=B1)*(СТРОКА(A1)<=C1)*A1) +
(СТРОКА(A2)>=B1)*(СТРОКА(A2)<=C1)*A2) +
(СТРОКА(A3)>=B1)*(СТРОКА(A3)<=C1)*A3) +
(СТРОКА(A4)>=B1)*(СТРОКА(A4)<=C1)*A4) +
(СТРОКА(A5)>=B1)*(СТРОКА(A5)<=C1)*A5) +
(СТРОКА(A6)>=B1)*(СТРОКА(A6)<=C1)*A6)

Функция СТРОКА(A1) возвращает номер строки ячейки A1.
Получается
(1 >= B1) * (1 <= C1) * A1 +
(2 >= B1) * (2 <= C1) * A2 +
(3 >= B1) * (3 <= C1) * A3 +
(4 >= B1) * (4 <= C1) * A4 +
(5 >= B1) * (5 <= C1) * A5 +
(6 >= B1) * (6 <= C1) * A6

(1 >= B1) логическая операция возвращает 1, если выражение истинно, и 0, если выражение ложно.

Например, в ячейке B1 число 2, а ячейки C1 число 3, тогда получается
0 * 1 * A1 +
1 * 1 * A2 +
1 * 1 * A3 +
1 * 0 * A4 +
1 * 0 * A5 +
1 * 0 * A6

Дальше можно не продолжать?
Наверх
 
 
IP записан
 
Vitya
Специалист
****
Вне Форума



Настрочил: 927
Серов
Пол: male
Re: Про Excel...
Ответ #7 - 27.12.2004 :: 15:30:14
 
2 ac_pavel
Спасибо.
Наверх
 
WWW 123947662  
IP записан
 


Переключение на Главную Страницу Страниц: 1
Печать