基于价值的高级excel迭代功能

时间:2015-02-21 01:49:51

标签: excel

假设excel中有两个单元格,一个是要求用户在相邻单元格中输入值的文本,该值表示某些内容的数量,例如鲜花。 根据用户输入的花朵数量,对每个特定花朵的后续问题进行询问,例如,如果用户输入2朵花的数量:花1具有多少花瓣,花2具有多少花瓣?

我需要一些方法来从结构上处理用户输入的任意数量的鲜花。

例如,如果用户输入0,则应计算此结果:null 如果用户输入1,则应计算此结果:花(1)有多少瓣? 如果用户输入2,则应计算此结果:花(1)有多少瓣? 花(2)有多少瓣? 如果用户输入3,则应计算此结果:花(1)有多少瓣?花(2)有多少瓣?花(3)有多少瓣?

我正在寻找能够代表这一点的最强大的结构,我意识到有许多" ghetto"可以用于特殊情况的解决方案。

以下是我手工制作的一些输入和结果的屏幕截图,我试图找到一种通过公式自动执行此操作的方法。

然而!!我不是在寻找仅适用于1,2或3朵花的东西。我需要一些适用于所有正数的东西(强健/严格的方式)。同时,尽可能优雅也很棒(内置excel公式而不是精心制作的VBA脚本)。答案如同#34;没有VBA"这是不可能的。如果是真的也会有所帮助。

enter image description here

http://i.imgur.com/qEvhjIg.png

enter image description here

1 个答案:

答案 0 :(得分:0)

你需要' ROW'并且' CONCATENATE'功能!

将以下公式粘贴到单元格A2中并将其复制下来,直到达到最大花数:

=IF(ROW(A2)-1 > $B$2, "", CONCATENATE("How many petals does flower (", ROW(A2)-1, ") have?"))

此公式检查当前行是否大于我们感兴趣的鲜花数量。如果是,则打印一个空白字符串("")。如果行号小于该行号,则会在那里打印带有正确数字的问题。

如果您担心某人输入的数字大于您已将其复制的单元格数(例如10),您可以在单元格C1中添加类似的内容:

=IF(B2 > 10, "Too many flowers!")