Airtable If 语句输出 NaN

Airtable If-statement outputting NaN

我正在使用 If 语句将整数分配给另一个单元格中的字符串。这似乎有效,但如果我引用这些列,我将得到一个 NaN 值。这是我下面的公式。我尝试在输出值周围添加 INT() ,但这似乎破坏了一切。我错过了什么吗?

IF(FIND('1',{Functional response}),-4,
IF(FIND('2',{Functional response}),-2,
IF(FIND('3',{Functional response}),0,
IF(FIND('4',{Functional response}),2,
IF(FIND('5',{Functional response}),4,"")))))

假设函数式响应只能将数字 1 到 5 存储为字符串,excel 中的一个简单选项是首先将字符串转换为数字,然后使用选择函数分配一个值。这是有效的,因为数字是连续的整数。假设单元格 K2 的值为功能响应,您的公式可能是:

=CHOOSE(--K2,-4,-2,0,2,4)
=CHOOSE(K2+0,-4,-2,0,2,4)
=CHOOSE(K2-0,-4,-2,0,2,4)
=CHOOSE(K2*1,-4,-2,0,2,4)
=CHOOSE(K2/1,-4,-2,0,2,4)

基本上通过数学运算发送纯数字的字符串 excel 将其转换为数字。通过不改变其值的数学运算发送它,您可以得到数字形式的字符串。

CHOOSE 就像一个连续的 IF 函数为其提供一个整数作为第一个参数,然后它将 return 来自后续列表的与该数字匹配的值。如果您提供的数量大于选项的数量,您将得到一个错误。

或者,您可以使用以下公式对以字符串形式存储在 K2 中的数字进行直接数学转换:

=(K2-3)*2

作为我的最终选择,您可以构建一个 table 并使用 VLOOKUPINDEX/MATCH

注意:如果 B2:B6 存储为字符串而不是数字,则需要使用 K2 而不是 --K2。