VLOOKUP не понимает номера [дубликат]

Существует более простой способ избежать сильных параметров вообще, вам просто нужно преобразовать параметры в обычный хеш, как:

unlocked_params = ActiveSupport::HashWithIndifferentAccess.new(params)

model.create!(unlocked_params)

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

3
задан nutsch 3 November 2012 в 00:55
поделиться

4 ответа

С помощью этой формулы будет рассмотрена проблема, выделенная RocketDonkey

=VLOOKUP(TEXT(D1,"#"),$A$1:$B$219,2,FALSE)

9
ответ дан nutsch 20 August 2018 в 10:59
поделиться
  • 1
    Это сработало ... но я до сих пор не понимаю, почему. Изменение формата ячейки через текст ctrl + 1 - & gt; не совпадает с текстом (значение, & quot; & quot; & quot;)? – user1023021 3 November 2012 в 00:05
  • 2
    Изменение формата фактически не изменяет базовые данные. Вам необходимо принудительно произвести пересчет после изменения формата для изменения данных (например, используя текст для столбцов). – nutsch 3 November 2012 в 00:14
  • 3
    Вы также можете конкатенировать с & quot; & quot; для преобразования в текст в формуле, например =VLOOKUP(D1&"",$A$1:$B$219,2,FALSE) – barry houdini 3 November 2012 в 00:22

Могу ли я выделить небольшой заметный ответ, с которым Барри Гудини пришел в 2012 году:

    =VLOOKUP(D1&"",$A$1:$B$219,2,FALSE)

, который действительно работает (для меня в Excel 2010), несмотря на то, что вы имеете дело с числами или сочетанием Числа или текстовые строки.

Престижность Барри, вы действительно Houdini

0
ответ дан Peter Rosenberg 20 August 2018 в 10:59
поделиться

Проблема в том, что вы не преобразовали значения в столбце A в числа. Поскольку первые три значения в вашем диапазоне поиска сами являются строками, они соответствуют строковым номерам.

Чтобы исправить, щелкните по одному из чисел в столбце A, нажмите Ctrl + Space, чтобы выбрать весь столбец, а затем нажмите восклицательный знак и выберите Convert to number:

enter image description here [/g0]

После этого вы заметите, что ваши предыдущие значения теперь показывают ошибки, поэтому следуйте одному и тому же процессу, чтобы преобразовать их в числа. Решение @ nutsch не требует изменения ваших данных, поэтому, если тип ваших данных не имеет решающего значения, это также хорошее исправление:)

enter image description here [/g1]

2
ответ дан RocketDonkey 20 August 2018 в 10:59
поделиться
  • 1
    Это сработало ... но я этого не понимаю. Я сравнивал «строковые» значения (CTRL + 1 ..format- & gt; «текст» для всей ячейки в документе). Почему сравнение двух значений строк не работает? Преобразование значений в число могло бы дать нам число VS string lookup no? – user1023021 2 November 2012 в 23:58
  • 2
    @ user1023021 Я испытываю это много, когда импортирую данные из других источников - часто даже преобразование числа через Ctrl+1 недостаточно, чтобы принудить его к правильному формату. Я полагаю, что это больше связано с базовым представлением числа на системном уровне. Вы также можете использовать трюк Paste-Special-multiply-by-1, но этот способ немного проще. – RocketDonkey 3 November 2012 в 00:03
  • 3
    мой любимый способ принудительного ввода текста - это текст в столбцы. Alt A E, Alt + F, все готово. – nutsch 3 November 2012 в 00:15
  • 4
    @nutsch Никогда не видел, что один - очень здорово! – RocketDonkey 3 November 2012 в 00:25

Это было большой болью для меня (Excel полна глупых предположений). То, что я делаю, это скопировать весь столбец в текстовый редактор, изменить столбец в соответствии с столбцом поиска и скопировать и вставить данные обратно в столбец. Это хорошо сработало для меня.

0
ответ дан simon tan 20 August 2018 в 10:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: