|
Как переписать екселевскую формулу через числовые значения строк и столбцов? | ☑ | ||
---|---|---|---|---|
0
Сияющий Асинхраль
28.11.17
✎
18:05
|
Имеется простейшая формула:
Сумм(B4:B64) надо переписать ее так, чтобы отсутствовали буквенные обращения к колонкам. Пытаюсь переписать, через Адрес, выдает ошибку: Сумм(Адрес(4;2):Адрес(64;2)) - выдает ошибку. Смысл задачки в том, что программно формирую формулы в ячейках Экселя. Весьма проблематично определять адреса при нумерации типа B4-B64 |
|||
1
Сияющий Асинхраль
28.11.17
✎
18:08
|
Криво сформулировал :-(, конечно, через числовую нумерацию строк и столбцов
|
|||
2
GrVas
28.11.17
✎
18:11
|
(28) Из 1с?
Формула суммы пишется по другому, попробуй записать макрос. |
|||
3
azernot
28.11.17
✎
18:13
|
(0) Используй стиль ссылок RC
Сумма(R422:R64C2) |
|||
4
Сияющий Асинхраль
28.11.17
✎
18:15
|
(2) Из 1С конечно.
(3) С удовольствием, клиент уперся - не хочет на такой стиль переключаться :-( |
|||
5
azernot
28.11.17
✎
18:17
|
(4) А причём тут клиент? Он смотрит как ему удобнее.
Программно формировать адрес ты можешь как угодно. |
|||
6
azernot
28.11.17
✎
18:19
|
(4) Просто попробуйте вручную, в ячейку вставить формулу
=СУММ(ДВССЫЛ(СЦЕПИТЬ("R";"2";"C";"4");ЛОЖЬ):ДВССЫЛ(СЦЕПИТЬ("R";"2";"C";"64");ЛОЖЬ)) |
|||
7
Сияющий Асинхраль
28.11.17
✎
18:21
|
(5) Вариант "=Сумм(R4C2:R64C2)" пытался передать в 1С, но тоже выдает ошибку
(6) Сейчас попробую |
|||
8
Вафель
28.11.17
✎
18:22
|
(7) По оле можно в любом виде формулу передавать. там есть спец реквизит
|
|||
9
Вафель
28.11.17
✎
18:22
|
||||
10
azernot
28.11.17
✎
18:23
|
(0) Ну или вот решение задачи с твоими условиями:
Сумм(ДВССЫЛ(Адрес(4;2)):ДВССЫЛ(Адрес(64;2))) |
|||
11
Сияющий Асинхраль
28.11.17
✎
18:27
|
(10) Да!!! Спасибо!!! То что надо.
|
|||
12
Вафель
28.11.17
✎
18:31
|
Лучше юзать все-таки (9) ибо он однозначно переводится в обычный формат.
те в финальном файле не будет таких зловещих формул как (10) |
|||
13
azernot
28.11.17
✎
18:31
|
(11) Ну не знаю, я бы наверное лучше использовал спец.поле, как рекомендуют в (9).
Range("D4").FormulaR1C1 = "=R[-1]C[-2]*10" Чем меньше в формуле дополнительных вычислений, тем лучше |
|||
14
Tateossian
28.11.17
✎
18:36
|
Ужас, ну и костыли))) Упертые заказчики))
|
|||
15
Сияющий Асинхраль
29.11.17
✎
11:57
|
(13) Использовал таки вариант
FormulaR1C1 = "=R3C2*10"; Он дает формулу в Excel в виде: =$B$3*10 Тоже, конечно, не очень визуально красиво. Но зато коротко :-) |
|||
16
azernot
29.11.17
✎
13:08
|
(15) А что вы хотите? Относительные формулы?
Ну так рассчитайте положение искомой ячейки относительно текущей и задайте относительную формулу типа FormulaR1C1 = "=R[-3]C[-1]*10"; |
|||
17
Tatitutu
29.11.17
✎
13:18
|
(15) ты с $ по аккуратнее . Знаешь для чего они нужны ?
$B$3 - по сути константа (при копировании и перемещении) |
|||
18
Сияющий Асинхраль
30.11.17
✎
18:02
|
(16-17) Убедили :-) , переделал на вариант (13) - и самому приятно и клиентам :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |