首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于值的高级excel迭代函数

基于值的高级excel迭代函数
EN

Stack Overflow用户
提问于 2015-02-21 09:49:51
回答 1查看 323关注 0票数 0

假设你在excel中有两个单元格,一个是文本,要求用户在相邻的单元格中输入值,该值表示某物的数量,例如鲜花。根据用户输入的花朵数量,系统会针对每个特定的花朵询问后续问题,例如,如果用户输入2朵花朵的数量:Flow1有多少个花瓣,Flow2有多少个花瓣?

我需要一些方法来结构化地处理用户输入的任何数量的花。

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

我正在寻找最健壮的结构来表示这一点,我意识到有许多“隔离区”解决方案可以在特殊情况下工作。

这是我手工制作的一些输入和结果的截图,我正在试图找到一种通过公式自动完成这一操作的方法。

然而!!我不是在寻找只对1,2或3朵花起作用的东西。我需要一些对所有正数都有效的东西(健壮/刚性的方式)。同时,尽可能的优雅也是伟大的(内置的excel公式而不是复杂的VBA脚本)。如果是真的,像“没有VBA是不可能的”这样的答案也会很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-02-21 12:34:52

你需要'ROW‘和'CONCATENATE’函数!

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

代码语言:javascript
复制
=IF(ROW(A2)-1 > $B$2, "", CONCATENATE("How many petals does flower (", ROW(A2)-1, ") have?"))

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

如果您担心有人键入的数字大于您复制的单元格数量(比方说10),您可以在单元格C1中添加类似以下内容:

代码语言:javascript
复制
=IF(B2 > 10, "Too many flowers!")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28641120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档