4

У меня есть список моих (279) DVD-дисков в электронной таблице OpenOffice (версия 3.3.0) на моем ноутбуке с Windows 7, и я хочу создать формулу для случайного выбора фильма для просмотра (в случаях, когда я не могу составить свой разум). Это работает:

=RANDBETWEEN(1;279)

Но все, что он дает, это число, которое я должен затем прокручивать вверх и вниз, чтобы проверить, и в нем также есть общее количество жестко запрограммированных DVD. Я хочу отобразить название фильма (содержится в столбце А), чтобы, если, например, число было 277, название фильма появилось бы, в данном случае «Люди Икс 2». Я предположил, что просто добавив букву столбца впереди, как это

=A(RANDBETWEEN(1;279))

будет работать, но выдает ошибку: #NAME?

Итак, как я могу ...

  1. Сделать так, чтобы отображалось название фильма
  2. Автоматически определять верхнее число, когда я добавляю новые DVD, чтобы мне не приходилось кодировать его в формуле?
  3. Как я могу сделать так, чтобы я просто щелкнул ячейку, чтобы восстановить новое случайное число? (т.е. не нужно пересчитывать вручную, нажав Shift+Ctrl+F9)

Благодарю.

4 ответа4

6
  1. Чтобы вернуть значение из столбца A, строки R, вы можете использовать =INDIRECT("A"& R )

  2. Для подсчета количества значений в столбце A вы можете использовать =COUNTA(A1:A65536)

    Поэтому для вашего случая вы можете использовать =INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))

  3. Возможно, вы сможете сделать макрос кнопку, которая будет пересчитывать для вас. Я не знаю достаточно о макроязыке OpenOffice.org Calc, чтобы предоставить больше помощи там.

0

Я недостаточно знаком с внутренними компонентами OpenOffice, чтобы помочь с вашим третьим запросом, кроме того, что я говорю, что простой F9 работает для меня, не требуется сдвиг или контроль. Что касается двух других, хотя:

=INDIRECT(ADDRESS(RANDBETWEEN(1,MATCH("*",$A$1:$A$50000,-1)),1))

Замените 50000 на что-то большее, если у вас есть или вы думаете, что у вас будет более 50000 DVD, и замените 1 в функции ADDRESS() если она находится в столбце, отличном от A

0

Для облегчения нумерации DVD-дисков в столбце A и названия DVD-дисков в столбце B (вы можете использовать формулу A2 = A1 + 1 для нумерации, если хотите сделать это еще проще).

Предположим, что n = количество строк выше, где начинаются DVD, например, если у вас есть метки столбцов.

=INDEX(B:B, RANDBETWEEN(1, MAX(A:A)) + n, 1) 
0
  • Поместите формулу из ответа Bavi_H в ячейку B1 (=INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536))))
  • Сделайте ширину и высоту B1 красивыми и большими
  • Формат B1 с привлекательным шрифтом большого размера, выбранным таким образом, чтобы длинные заголовки фильмов по-прежнему подходили
  • Выберите любую ячейку в столбце A и выберите пункт меню Format > Column > Hide
  • Выберите пункт меню Tools > Macros > Record Macros
  • Нажмите F9 (или Ctrl-Shift-F9)
  • Нажмите на кнопку « Stop Recording
  • В появившемся диалоговом окне « Basic Macros Dialog введите имя, например "обновить", в поле « Macro name , выберите электронную таблицу в поле « Save macro in поле», нажмите « Save и введите имя модуля, например "фильмы", нажмите « OK
  • Выберите пункт меню View > Toolbars > Form Controls
  • На этой панели инструментов убедитесь, что кнопка Design Mode включена
  • Нажмите кнопку « Form Design , чтобы сделать панель инструментов "Дизайн формы" видимой.
  • На панели инструментов « Form Design отключите кнопку « Open in Design Mode
  • На панели инструментов « Form Controls нажмите кнопку « Label Field
  • Перетащите курсор из верхнего левого угла ячейки B1 в ее нижний правый угол, чтобы создать поле метки того же размера, что и ячейка.
  • Щелкните правой кнопкой мыши ячейку / метку и выберите пункт « Control... в контекстном меню.
  • Выберите вкладку General , затем удалите текст из поля Label
  • Выберите вкладку « Events », нажмите кнопку ...
  • В диалоговом окне Assign Action нажмите кнопку Macro...
  • В диалоговом окне « Macro Selector » разверните записи под своей электронной таблицей в поле « Library пока не увидите имя модуля, которое вы использовали ранее (например, "фильмы"), и щелкните по нему.
  • В поле Macro name макроса выберите макрос, который вы создали ранее (например, "обновить")
  • Нажмите « OK , нажмите « OK затем закройте окно « Properties », нажав кнопку « X в правом верхнем углу.
  • На панели инструментов « Form Controls отключите Design Mode
  • Теперь, когда вы нажимаете на ячейку B1 отображаемое там название фильма должно измениться.
  • Закройте панели инструментов, если хотите
  • Прежде чем сохранить электронную таблицу, вы можете зайти в Tools > Options > OpenOffice.org Calc > View и отключить Window: Column Headers and Rows , Horizontal Scroll Bars , Vertical Scroll Bars и Sheet tabs для очень четкого внешнего вида (вам может потребоваться чтобы включить их снова при следующем создании новой пустой таблицы)
  • Сохраните свою таблицу
  • ???
  • прибыль

Выбор фильма

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .