【问题标题】:Excel Formula - Using condition provided in cell itselfExcel 公式 - 使用单元格本身提供的条件
【发布时间】:2013-06-01 01:48:17
【问题描述】:

我在 Excel 工作表中有一些数据,我需要在单元格范围 A4:A10 中找到最小值,前提是上述输出应遵循单元格 B10 中提供的条件。

单元格B10 的内容是">10"

下面的公式对我有用:

=MIN(IF(A4:A10>10,A4:E10))

但我需要编写一个公式,通过引用B10的内容来设置条件(而不是直接写>10)。
任何帮助都会很棒。 谢谢

【问题讨论】:

  • 您的标准是否始终是">B10 的值"?
  • 否,请注意条件也写为内容
  • 老实说,除非您允许过滤,否则我无法帮助您。使用高级过滤,您可以使用这样的语法,然后您可能可以从那里找出一些东西,但我不确定它是否可能在单个函数中。

标签: excel excel-formula


【解决方案1】:

如果您可以在工作表中进行一些更改,例如添加标准标题,您可以使用以下公式解决它,如图所示:

=DMIN(A3:A10,1,B9:B10)

【讨论】:

  • 我认为这可能是避免VBA或将条件的类型和值分成2个单元格的最简单的解决方案。
  • 如果布局允许列标题,则 +1 最佳解决方案。否则会更棘手,但我认为仍然可以使用:=MIN(IF(FREQUENCY(1,COUNTIFS(A4:A10,"<="&A4:A10,A4:A10,B10)),A4:A10)) 正常输入或=MIN(SUMIF(OFFSET(A4:A10,ROW(A4:A10)-MIN(ROW(A4:A10)),,1),B10)) array-entered。
  • @lori_m,您可以添加您的评论作为答案,因为这听起来很有趣。感谢 +1 :)
【解决方案2】:

在不更改约束的情况下执行此操作的最简单方法是编写一个简短的 VBA 宏,您可以在更新 B10 后调用该宏。下面的代码只是将公式构建为字符串并将其传递给单元格的.FormulaArray 属性。

Sub updateformula()
Dim s1 As Worksheet, condition As String, buildFormula As String
Set s1 = Sheets("Sheet1") 'update to match your workbook
condition = s1.Range("B10").Value
buildFormula = "=MIN(IF(A4:A10" & condition & ",A4:E10))"
s1.Range("A11").FormulaArray = buildFormula 'update formula address to match your workbook
End Sub

您可以为此宏分配一个组合键,也可以在工作表上放置一个控制按钮以在更新B10 后调用它。

【讨论】:

  • 谢谢,但我需要在没有宏的情况下这样做
猜你喜欢
  • 2015-03-10
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
相关资源
最近更新 更多