假设你在excel中有两个单元格,一个是文本,要求用户在相邻的单元格中输入值,该值表示某物的数量,例如鲜花。根据用户输入的花朵数量,系统会针对每个特定的花朵询问后续问题,例如,如果用户输入2朵花朵的数量:Flow1有多少个花瓣,Flow2有多少个花瓣?
我需要一些方法来结构化地处理用户输入的任何数量的花。
例如,如果用户输入0,则应计算以下结果: null如果用户输入1,则应计算以下结果: flower (1)有多少个花瓣?如果用户输入2,则应计算以下结果: flower (1)有多少个花瓣?花朵(2)有多少个花瓣?如果用户输入3,则应计算以下结果: flower (1)有多少个花瓣?花朵(2)有多少个花瓣?花朵(3)有多少个花瓣?
我正在寻找最健壮的结构来表示这一点,我意识到有许多“隔离区”解决方案可以在特殊情况下工作。
这是我手工制作的一些输入和结果的截图,我正在试图找到一种通过公式自动完成这一操作的方法。
然而!!我不是在寻找只对1,2或3朵花起作用的东西。我需要一些对所有正数都有效的东西(健壮/刚性的方式)。同时,尽可能的优雅也是伟大的(内置的excel公式而不是复杂的VBA脚本)。如果是真的,像“没有VBA是不可能的”这样的答案也会很有帮助。



发布于 2015-02-21 12:34:52
你需要'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!")https://stackoverflow.com/questions/28641120
复制相似问题