Excel中的数据生成
早上好,我是excel新手,如果有人能帮助我,我将非常感激(我相信从您的角度来看,答案很简单) 屏幕截图展示了一种简单的方式来解释我要寻找的内容: 对于第一列中的每个数字(可能出现多次),我希望生成一个相应的Id(请参见列Id以影响数据类型)。 我们只看开头的“数字”,它最多可以是8个数字的大小。 有时可能会出现棘手的情况,例如从40对402开始的示例,它们不受相同Id的影响 由于我是excel新手,可能这个答案或问题存在,但我不知道如何搜索/命名它。Excel中的数据生成,excel,Excel,早上好,我是excel新手,如果有人能帮助我,我将非常感激(我相信从您的角度来看,答案很简单) 屏幕截图展示了一种简单的方式来解释我要寻找的内容: 对于第一列中的每个数字(可能出现多次),我希望生成一个相应的Id(请参见列Id以影响数据类型)。 我们只看开头的“数字”,它最多可以是8个数字的大小。 有时可能会出现棘手的情况,例如从40对402开始的示例,它们不受相同Id的影响 由于我是excel新手,可能这个答案或问题存在,但我不知道如何搜索/命名它。 谢谢你的帮助,祝你度过愉快的一天。棘手的
谢谢你的帮助,祝你度过愉快的一天。棘手的公式。这并不是最漂亮的东西,但这个公式是有效的:(为了可读性增加了换行符) 需要注意的几点:
=IFERROR(INDEX(D$2:D$7,MATCH(MAX((VALUE(LEFT(A2,LEN($C$2:$C$7)))=$C$2:$C$7)*C$2:C$7),C$2:C$7,0)),"")
这将尝试匹配最长的数字(使用
MAX
)并返回值(使用INDEX/match
)。感谢您的提示回答!我现在正努力使这项工作成功,但失败了。我忘了提到我使用的是Excel 2010,有什么不同吗?我也在使用Excel 2010。您是否将所有单元格范围更改为任意范围并将其作为数组公式输入(Ctrl+Shift+enter)?我首先尝试使用与您发布的示例完全相同的示例。正如我在原始帖子中所说的。。。您的问题没有包括特定的单元格范围,因此您必须将单元格范围更改为工作表中的实际单元格范围。我使用的数据与您的示例相同。当我按Ctrl-Shift-Enter键时,只会出现错误弹出窗口,我尝试使用相同的公式(复制粘贴),并且没有换行符和空格。哈,比我的解决方案更好。我使用了一个带有LOG10
的卷积公式来确定一个数字的位数,而不是仅仅使用LEN
函数。直到现在才知道LEN
与数字有关。我以为它只适用于弦。很高兴知道未来的用途。我对人有这种影响。。。(讽刺)。事实上,我想使用LOG10
方法对于小数点的数字是有用的,但在这种情况下,使用整数更容易。
=IFERROR(INDEX(D$2:D$7,MATCH(MAX((VALUE(LEFT(A2,LEN($C$2:$C$7)))=$C$2:$C$7)*C$2:C$7),C$2:C$7,0)),"")