Другие языки программирования и технологии

помогите в Excel-e

как создать в EXCEL-е формулу 4 колонки с цифрами 1-2-3-4 и если сменить первую цифру 1 на 2 , то остальные так же сменятся в 2 раза то есть 2-6-8 ?
ваша задача НЕ решается ФОРМУЛАМИ, потому что вы хотите изменять любое из 4 чисел в колонках A-D

но она решается макросом)) )

Private Sub Worksheet_Change(ByVal Target As Range)
If semafor Then
nn = Target.Column
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
If IsEmpty(mass(nn)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
Exit Sub
End If
kk = Target.Value / mass(nn)
semafor = False
For ii = 2 To 5
If ii <> nn Then
Cells(1, ii) = Cells(1, ii) * kk
End If
Next ii
End If
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
semafor = True
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
priz = True
For ii = 2 To 5
If IsEmpty(Cells(1, ii)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
priz = False
End If
Next ii
If priz Then
For ii = 2 To 5
mass(ii) = Cells(1, ii)
Next ii
End If
End If
End If
Target.Font.ColorIndex = 3
End Sub
вот начальная картинка

а вот после того как D1 удвоили


Идея в следующем:
в событии по перемещению мы в массиве mass() запоминаем текущие значения
а в событии по изменению высчитываем коэфициент изменения отредактированной ячейки и умножаем на него остальные))) )
обратите внимание на переменную semafor - она не дает зацикливаться проге при изменении соседних ячеек в цикле)))
АН
Александр Назарук
95 917
Лучший ответ
формула проста. =СТРОКА (А2)*А$1
Андрей Осипкин
Андрей Осипкин
41 286
1. выставить зависимость у каждой справа стоящей чтобы она умножала на сооотв. множитель левостоящую.
то есть:
в A1: 1
в B1: =A1*2
в C1: =A1*3
в D1: =A1*4
если в A1 значение меняется, то кратно меняются и остальные:
1-2-3-4
2-4-6-8
3-6-9-12
и т. д.

PS: а зачем это надо? О_О

если нужно получить что-то сложнее, чем представленный вариант, то либо в личку объясню либо читайте справку по функциям экселя. там много красивых вкусностей.
извини я достаточно хорошо знаю эксель но не слишком понятно задача
Что надо создать формулу или вычислить как изменится или еще что то не очень понятно