Форум программистов
Правила форума  |  Исходники Delphi  |  Основы Delphi  |  Блог программистов  |  Рассылка  |  Закажи футболку!  |  Конкурс программистов призы на 2000 руб


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

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

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

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

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

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

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

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

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

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

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

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

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

Код:

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 Кб, 9 просмотров)
pashulka вне форума  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


Все интернет-магазины Москвы на Викимарте: компьютеры и софт, художественные книги и профессиональная литература, наручные часы.



04:30.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Ask Doctor at Healpth.com