1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Снова эксель

Тема в разделе "Программирование", создана пользователем 1gerzog, 31.03.10.

  1. 1gerzog

    1gerzog Активный участник

    560
    0
    Как в экселе пишется выражение "принадлежит интервалу"?

    Нужно подсветить число, если оно принадлежит определенному интервалу.
     
  2. UranUs

    UranUs Активный участник

    2.823
    1
    Формат - Условное форматирование
     
  3. 1gerzog

    1gerzog Активный участник

    560
    0


    Эт я умею, но это не подходит.

    Задача: есть список населенных пунктов (1500 шт.), разделенных на три округа. Если в некоторой ячейке появляется населенный пункт, относящийся к первому округу, то ячейка подсвечивается зеленым, если в ячейке населенный пункт второго округа, то красным, если третьего, то синим...
     
  4. Welcome

    Welcome Читатель

    5.409
    0
    Допустим в столбце F - населённые пункты
    Диапазон F15:F546 - первый округ, F547:F1234 - второй, и т.д.
    Вносим в столбец G
    в диапазон G15:G546 - 1, G547:G1234 - 2, и т.д.

    =Если(ВПР(
     
  5. 1gerzog

    1gerzog Активный участник

    560
    0


    ну распиши все выражение, пожалуйста, когда наглядней, то понятней. с выражениями типа "в правой ячейке, или слева" не очень пока...

    что есть ВПР - в правой ячейке?
     
  6. Welcome

    Welcome Читатель

    5.409
    0
    тестируешь ты название населённого пункта в ячейке D3
    номер округа к которому относится населённый пункт будет выводится в E3
    Соотв вносишь в E3 формулу
    =ВПР(D3;F15:G1500;2;ложь)

    сия ф-ция ищет в первом столбце диапазона F15:G1500 значение совпадающее с D3 и подставляет соответствующее значение из второго столбца диапазона F15:G1500.

    А названия населённых пунктов уникальны ? ;)
     
  7. WindMan

    WindMan Активный участник

    12.291
    151
    Сорри, а чем не подходят вот такие варианты условного форматирования?
    123rytur.jpg
    123cesd.jpg
    В первом варианте подсвечиваем только первый столбец, во втором - всю строку...
     
  8. 1gerzog

    1gerzog Активный участник

    560
    0


    Какая у Вас версия офиса? Подобного диспетчера в 2003 не найду...

    Вот мой случай...
     

    Вложения:

    • ппп.jpg
      ппп.jpg
      Размер файла:
      136,5 КБ
      Просмотров:
      114
  9. WindMan

    WindMan Активный участник

    12.291
    151
    Вот для 2003:
    12345.jpg
     
  10. 1gerzog

    1gerzog Активный участник

    560
    0



    Эт я тож умею, но вся беда в том, что больше трех условий задать нельзя, а у меня их больше трех (около 60 округов, по 50 населенных пунктов в каждом)... Диапозонами нельзя ли решить задачу?
     
  11. Welcome

    Welcome Читатель

    5.409
    0
    Тогда макросом раскрашивай.
    Задай массив номеров цветов - по цвету на округ. Это кста весьма не явно различимые оттенки получатся при 60 округах.
    Определяй номер округа у рассматриваемого населённого пункта ВПР-ом.
    И раскрашивай ячейку в макросе. Кажется так: .Interior.ColorIndex
     
  12. panda-34

    panda-34 Активный участник

    1.589
    0
    Тока в Excele всего 56 цветов, вот ведь незадачка!
     
  13. 1gerzog

    1gerzog Активный участник

    560
    0


    Ну а если количество округов снизить до 50, то можно раскрасить быстро, автоматически
     
  14. Welcome

    Welcome Читатель

    5.409
    0
    нет. их можно хоть произвольными rgb задавать

    хотя доподлинно не знаю, может быть на одновременное использование есть ограничение
     
  15. mitrich

    mitrich Участник

    175
    0
    Не стану плодить тем, задам вопрос тут. Вопрос такого характера! Есть БД содержащая большое количество номеров, как можно автоматизированно заменить первую цифру у каждого номера на другую, в ручную не айс, порядка 7000 записей.
     
  16. WindMan

    WindMan Активный участник

    12.291
    151
    mitrich, вот так можно:
    excel_001.jpg
     
  17. mitrich

    mitrich Участник

    175
    0
    WindMan, спасибо огромное, многочасовые мучения сошли на нет ))))))
     
  18. 1gerzog

    1gerzog Активный участник

    560
    0
    А можно ли узнать когда было внесено изменение в конкретную ячейку, так как дату изменения файла можно поменять нажатием дискетки и без изменения данных в ячейках?
     
  19. WindMan

    WindMan Активный участник

    12.291
    151
    Можно через макрос вести лог изменений ячейки.
    Т.е. на листе "Лист1" есть ячейка "А10", за которой следим изменения.
    Вот эта процедурка для листа "Лист1" будет отслеживать изменения этой ячейки, а результат писать на лист "Log" в колонку "А" - дату и время изменения, а в колонку "B" - измененное значение.
    ===
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> [A10].Address Then Exit Sub
    Worksheets("Log").Range("A" & CStr(Worksheets("Log").Range("A" & Rows.Count).End(xlUp).Row) + 1) = Now()
    Worksheets("Log").Range("B" & CStr(Worksheets("Log").Range("B" & Rows.Count).End(xlUp).Row) + 1) = [A10].Value
    End Sub
    ===
     
  20. panda-34

    panda-34 Активный участник

    1.589
    0
    WindMan, Много лишних движений
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> [A10].Address Then Exit Sub
    Worksheets("Log").UsedRange.SpecialCells(xlCellTypeLastCell).Offset(1).EntireRow.Resize(, 2) = Array(Now(), [A10].Value)
    End Sub
    :p
     
  21. WindMan

    WindMan Активный участник

    12.291
    151
    panda-34, согласен! :beer: Ну эт я про лист "Log" для примера нарисовал, первое, что в голову залетело... Как я понял, человеку нужно скрыто контролировать изменение ячейки. Можно, конечно, лист скрыть, можно в другой файл записывать... Это уже будут фантазии 1gerzogа. Думаю, что главный смысл решения этой задачи ему понятен.