|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
здравствуйте, помогите, пожалуйста, разобраться со следующим вопросом используя формулу АСЧ пытаюсь посчитать суммарную амортизацию за n-ое количество лет записал следующую формулу ="Суммарная амортизация за "&C9&ЕСЛИ(C9=1;" год";ЕСЛИ(C9<=4;" года";" лет"))&" составляет "&СУММ(АСЧ(C6;C7;C8;{1;2;3;4;5;6;7;8;9;10})) все работает, массив забиваю вручную в зависимости от количества лет, а хотелось бы сделать так, чтобы значение количества лет вносить в одну ячейку и чтобы в формуле отображалось это в виде: Суммарная амортизация за [ссылка на ячейку, указывающая за сколько лет] составляет [сумма которую составила амортизация за указанное количество лет], с тем чтобы вставить количество лет просто в текст проблем нет, а вот как заменить массив,так чтобы это было ссылкой на одну ячейку не знаю файл прикреплен ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2012, 17:08 |
|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
yaspers, Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2012, 18:04 |
|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
DV68, спасибо но формула не совсем работает, она считает постоянно сумму полной амортизации. если я меняю в ячейке период, то амортизация не изменяется, и остается такой же = 45000. я пытаюсь сделать чтобы при различных значениях периода, которые я вношу в одну ячейку учитывались при подсчете амортизации. то есть если я ставлю период 2 года, то должна быть так: Суммарная амортизация за 2 года составляет 15545,4545454545 3 года: Суммарная амортизация за 3 года составляет 22090,9090909091 5 лет: Суммарная амортизация за 5 лет составляет 32727,2727272727 так возможно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2012, 04:18 |
|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
Может быть надо не С8, а С9? ="Суммарная амортизация за "&C9&ЕСЛИ(C9=1;" год";ЕСЛИ(C9<=4;" года";" лет"))&" составляет "& СУММПРОИЗВ(АСЧ(C6;C7;C8;СТРОКА(A1:ИНДЕКС(A1:A99;C9)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2012, 10:09 |
|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
The_Prist, спасибо, так действительно работает, видимо DV68 просто ошибся с названием ячейки извините, если вопрос покажется глупым, но не мог бы мне кто-нибудь объяснить или может ссылка есть где описывается значение функции ИНДЕКС(А1:А99;С9)?? именно, мне непонятно почему массив указывается А1:А99, а номер строки(?) С9 (или что здесь обозначает С9)?? что значит А1:А99 почему именно А и почему от 1 до 99? в описании функции ИНДЕКС на сайте office.microsoft.com сказано, что ссылка должна находится внутри массива, и она должна быть в виде цифры, а не в виде ссылки на ячейку, иначе будет выдаваться ошибка #ссылка, а про такой случай ничего не говорится в общем как работает функция =СТРОКА(A1:ИНДЕКС(A1:A99;С9)) я разобрался, но вот именно с функцией индекс не совсем понятно буду очень благодарен, если просветите :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2012, 13:02 |
|
заменить массив одной ячейкой
|
|||
---|---|---|---|
#18+
yaspers, Сама функция ИНДЕКС возвращает ячейку. Т.е. не именно значение ячейки, а как бы ссылку на ячейку, что позволяет использовать её в формулах подобным образом. Разбираем. Если брать конкретно Ваш пример =СТРОКА(A1:ИНДЕКС(A1:A99;С9)). А1:А99 - это массив ячеек. Первый аргумент функции ИНДЕКС. С9 - ссылка на ячейку с номером строки в массиве ячеек первого аргумента, ячейку из которого надо вернуть. Т.е. это 9-ая по счету ячейка в массиве А1:А99. Иначе говоря - А9. Именно эту ячейку нам возвращает функция ИНДЕКС. Получается - А1:А9. Но т.к. нам нужен переменный массив чисел({1;2;3;4;5;6;7;8;9}), а не ссылки, то необходимо полученный массив ячеек А1:А9 перевести в числа. Для этого мы и используем СТРОКА. Так же ИНДЕКС можно использовать в других функциях. Например СУММ: =СУММ(A1:ИНДЕКС(A1:A99;C9)) На примере СУММ может быть даже более понятнее станет принцип работы функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2012, 14:45 |
|
|
start [/forum/topic.php?fid=61&msg=37979652&tid=2175354]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 145ms |
0 / 0 |