Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.12.2006, 11:39   #1
AndreichSB
 
Регистрация: 17.12.2006
Сообщений: 4
По умолчанию Вопрос про правильное написание функции

Господа ,подскажите плз как правильно записать логическую функцию.например Если D10=10 и C8=1 то F12 принимает значение 1 если один из аргументов ложный то ничего.
AndreichSB вне форума
Старый 25.12.2006, 12:55   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

=ЕСЛИ(И(D10=10;C8=1);1;) - формула для ячейки F12.

Надеюсь что помог.
zetrix вне форума
Старый 25.12.2006, 13:00   #3
AndreichSB
 
Регистрация: 17.12.2006
Сообщений: 4
По умолчанию

да спасибо ,работает.а как сделать чтобы F12 не принимала значение 1 а плюсовала к уже существующему своему значению?
AndreichSB вне форума
Старый 25.12.2006, 13:20   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Хм... Здесь я затрудняюсь... Я попробовал сделать, но пишет типа циклическая ссылка. Т.е. Формула ячейки ссылается на значение этой же ячейки, а чтоб узнать значение, надол считать формулу и т.д.
Я думаю так делать нельзя.
zetrix вне форума
Старый 25.12.2006, 14:10   #5
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Можно, вот выдержка из офисной справки :

Циклические ссылки в формулах

Циклической ссылкой называется последовательность ссылок, при которой формула ссылается (через другие ссылки), сама на себя. Чтобы обработать такую формулу, необходимо вычислить значение каждой ячейки, включенной в замкнутую последовательность, используя результаты предыдущих итераций. По умолчанию, до тех пор пока не будут изменены соответствующие параметры, вычисления прекращаются после выполнения 100 итераций или после того, как изменение каждой величины не будет превышать 0,001 за одну итерацию.
Обработать формулы с циклическими ссылками в режиме обычных вычислений нельзя. Когда вводится формула с циклической ссылкой, появляется предупреждающее сообщение. Если циклическая последовательность ссылок образовалась случайно, нажмите кнопку OK. На экране появится панель инструментов Циклические ссылки и стрелки зависимостей, указывающие на каждую ячейку циклической ссылки. С помощью панели инструментов Циклические ссылки можно провести анализ циклической ссылки и изменить ссылки так, чтобы циклическая ссылка исчезла. Циклические ссылки часто используются в научных и инженерных расчетах.
При создании формул с циклическими ссылками может возникнуть необходимость изменить число итераций. Чтобы изменить число итераций, выберите команду Параметры в меню Сервис, а затем — вкладку Вычисления. Установите флажок Итерации. Далее введите максимальное число итераций и относительную погрешность вычислений.

Впрочем, иногда для решения аналогичных задач, можно воспользоваться и макросами, например, событием рабочего листа Worksheet_Change(ByVal Target As Excel.Range)
pashulka вне форума
Старый 25.12.2006, 18:05   #6
AndreichSB
 
Регистрация: 17.12.2006
Сообщений: 4
По умолчанию

а по понятней ?
AndreichSB вне форума
Старый 25.12.2006, 19:27   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Вот здесь можно найти пример, где используются итерации. Если же Вы захотите использовать макросы, что вполне об'яснимо, то можно сделать следующее : кликните левой кнопкой мышки на ярлычке рабочего листа, в котором Вы планируете организовать счётчик и в появившемся контекстном меню выберите команду Исходный текст. Затем скопируйте любой из нижеопубликованных вариантов в модуль листа и сохраните изменения.

Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, [C8,D10]) Is Nothing Then
       If Not IsNumeric([C8]) Or Not IsNumeric([D10]) Then
          MsgBox "Ячейки C8 и D10 должны содержать только числовые значения", vbCritical, ""
          Exit Sub
       End If
       If [C8] = 1 And [D10] = 10 Then
          If [F12].Locked = True And Me.ProtectContents = True Then
             MsgBox "Ячейка F12 защищена от изменений", vbCritical, ""
             Exit Sub
          End If
          If IsNumeric([F12]) = True Then
             [F12] = [F12] + 1
          Else
             [F12] = 1
             'Если ячейка F12 содержит нечисловое значение, то счётчик "обнуляется"
          End If
       End If
    End If
End Sub
Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, [C8,D10]) Is Nothing Then
       If CStr([C8]) = "1" And CStr([D10]) = "10" Then
          If [F12].Locked = True And Me.ProtectContents = True Then
             MsgBox "Ячейка F12 защищена от изменений", vbCritical, ""
             Exit Sub
          End If
          If IsNumeric([F12]) = True Then
             [F12] = [F12] + 1
          Else
             [F12] = 1
             'Если ячейка F12 содержит нечисловое значение, то счётчик "обнуляется"
          End If
       End If
    End If
End Sub
На всякий случай прилагается пример, там наличествует три варианта использования вышеупомянутого события.
Вложения
Тип файла: zip AndreichSV (Counter).zip (11.6 Кб, 23 просмотров)
pashulka вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
Написание *.bat .. как? Stema Общие вопросы по программированию, компьютерный форум 6 09.04.2008 15:26
DBGridEh - поле с картинками. (как задать правильное значение) Jenya БД в Delphi 4 25.03.2008 06:26
Вопрос по функции "если" с цветом.. Dr.Eric Microsoft Office Excel 2 17.04.2007 19:44
написание формулы vladi Microsoft Office Excel 6 31.12.2006 18:16