RFM分段Excel取中等价值

时间:2017-03-13 03:14:53

标签: excel excel-formula excel-2010

我正在尝试使用RFM分段对客户进行细分,每列R,F和M的范围为1到5.在我合并三列之后,有许多可能性,例如151555,或254等等。 代码555是最好的客户 而X5X是忠诚的客户。 “X”定义任何数字,例如代码454也是忠诚客户细分。 问题是我无法正确地在excel中正确地传递IF函数。以下是555

的试用版
=IF(O14="555","Best Customer",IF(MID(O14,2,1)="5","Loyal Customer"))

该功能重叠,因为它采用了最新的IF,因此555的结果是忠诚客户,应该是最佳客户。对于大消费者来说,有许多细分,例如XX5,但是由于公式转向重叠,我无法继续其余的。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果您只需要每个数字1个结果,那么您只需要先将最高优先级放在首位。第一个为TRUE的IF将是使用的IF。从你的例子看,它看起来像" 455"既可以是忠诚的客户,也可以是Big Spender。我们无法从您的解释中说明在这种情况下结果应该是什么。但是,优先级较高者应该在嵌套的IF语句中更早出现。

您的公式看起来是正确的555应该返回"最佳客户"。如果它正在返回Loyal Customer,那么您似乎已经将555存储为数字而不是O14中的文本。如果是数字,则您的公式应为:

=IF(O14=555,"Best Customer",IF(MID(O14,2,1)="5","Loyal Customer"))

唯一的区别是删除555附近的报价。如果O14存储为数字,则O14 =" 555"将数字与字符串进行比较(三个" 5"字符而不是数字555),它总是返回FALSE,因此它会在下一个IF语句上移动。要在开始时获得TRUE结果,您需要将O14与数字555进行比较。

然后,您可能会对公式的第二部分为何起作用感到困惑。这是因为MID函数会接受一个数字作为输入,然后强制进行类型转换。

使用=运算符时,excel只能比较相似的值。这意味着它可以将字符串与字符串或数字与数字进行比较,但不能将字

但是,MID函数将接受字符串或数字。当给出一个数字时,它将首先将其转换为字符串,然后输出一个字符串。

如果给出MID(555,2,1),它首先将555更改为" 555"并给出与MID(" 555",2,1)相同的结果,即字符" 5"而不是数字5。

所以,即使O14的数字是555,MID(014,2,1)也会返回字符" 5"和比较MID(O14,2,1)=" 5"将返回TRUE。