热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Excel技巧:在范围内查找所有最小值,而不仅仅是首个最小值

探讨了如何在Excel中查找指定范围内的所有最小值,即使这些最小值出现多次,也能确保每个实例都被识别和显示。

在Excel中,当我需要在一个数值列表中找出最小值时,例如9, 18, 12, 9,虽然两个9都是最小值,但默认的MIN函数只会返回首次出现的最小值。为了提高结果的准确性,我希望不仅能标识出首次出现的最小值,还能同时标识出第二次出现的最小值。具体来说,这些数值所在的列代表不同的位置,数值本身则反映了前往该位置的难易程度。因此,如果两个位置的难度值都为9,我希望有一种方法能够同时显示这两个位置的信息,以确保所有符合条件的结果都能被用户看到。请问是否有方法可以在使用MIN函数时,让结果同时包括所有出现的最小值?或者,是否可以通过某种方式,在初次查找最小值后,再次查找时不考虑已找到的最小值,从而定位到下一个最小值?


非常感谢您的帮助。


解决方案



#1 使用数组公式




假设数据位于A列,在C1单元格中输入以下数组公式:


=IFERROR(SMALL(IF(($A$1:$A$20)=MIN($A$1:$A$20), ROW($A$1:$A$20), ""), ROW()), "")

然后向下复制该公式。请注意,数组公式需要通过按Ctrl+Shift+Enter来输入,而不是简单的Enter键。此公式将返回包含最小值的所有单元格的行号。




#2 使用VBA进行循环查找




另一种方法是使用VBA脚本,通过循环遍历找到的所有最小值。下面是一个示例代码,其中包含了循环中的FindNext操作,用于查找所有匹配的最小值:


Dim rngFound As Range
Dim rngSearch As Range
Dim SrchVal As Variant
Dim FirstFind As String

Set rngSearch = Range("A1:A20")
SrchVal = Application.WorksheetFunction.Min(rngSearch)

Set rngFound = rngSearch.Find(SrchVal, LookIn:=xlValues)
If Not rngFound Is Nothing Then
FirstFind = rngFound.Address
Do
' 对找到的值执行操作
Set rngFound = rngSearch.FindNext(rngFound)
Loop Until rngFound.Address = FirstFind
End If

这段代码首先定义了搜索范围和要查找的最小值,然后通过Find方法找到第一个最小值的位置。之后,通过FindNext方法在循环中继续查找其他匹配项,直到回到最初找到的位置为止。



推荐阅读
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • Codeforces Round #566 (Div. 2) A~F个人题解
    Dashboard-CodeforcesRound#566(Div.2)-CodeforcesA.FillingShapes题意:给你一个的表格,你 ... [详细]
author-avatar
mobiledu2502885407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有