VBA Excel 的比率条件要求

2024-03-03

我有一个财务数据,表明项目的健康状况,并根据差异填充颜色和字母来指示健康状况。例如,如果方差小于 5%,则用字母“G”填充绿色,大于 5% 但小于 20% 则填充“Y”,大于 20% =“R”。我已经使用 if 语句来实现这一点。但是我需要填充整个项目的颜色。

有 5 个项目,要求如下:

  1. 如果 5 个项目中的任何一个具有“R”,则整体健康状况为“R”
  2. 如果 1/5 项目为“Y”且 4/5 =“G”,则整体健康状况为“G”
  3. 如果 2/5 =“Y”且 3/5 =“G”,则整体健康状况为“Y”
  4. 如果 3/5 =“Y”且 2/5 =“G”,则整体健康状况为“Y”
  5. 如果 4/5 =“Y”和 1/5“G”则“Y”
  6. 如果 5/5 =“Y”则“Y”
  7. 如果 5/5 =“G”则“G”

因此,如果第一个项目是 G,第二个项目是 Y,第三个项目是 Y,第四个项目是 G,第五个项目是 R,我希望它填充“R”以获得整体健康状况。

我尝试过使用 if 语句,但我要做的组合量太多了。

我如何使用 VBA excel 创建这种“比率”要求?

谢谢


您可以创建一个变量来计算每个 Y、R 和 G,然后执行简单的 if elseif 以根据您的规则将单元格设置为等于 r、y 或 g:

Option Explicit

Sub getcounts()

Dim g As Long
Dim r As Long
Dim y As Long
Dim ovrallhealth As Range
Dim variancerange As Range
Set variancerange = Sheets(1).Range("A1:A5")
Set ovrallhealth = Sheets(1).Range("B1")

y = Application.WorksheetFunction.CountIf(variancerange, "y")
g = Application.WorksheetFunction.CountIf(variancerange, "g")
r = Application.WorksheetFunction.CountIf(variancerange, "r")

If r > 0 Then
   ovrallhealth = "R"
ElseIf y = 1 And g = 4 Then
   ovrallhealth = "G"
ElseIf y = 2 And g = 3 Then
   ovrallhealth = "Y"
ElseIf y = 3 And g = 2 Then
   ovrallhealth = "Y"
ElseIf y = 4 And g = 1 Then
   ovrallhealth = "Y"
ElseIf y = 5 Then
   ovrallhealth = "Y"
ElseIf g = 5 Then
   ovrallhealth = "G"
End If

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBA Excel 的比率条件要求 的相关文章

随机推荐

  • 使用 GeoPandas 将点几何图形转换为线串

    我有一个地理数据框gdf看起来像这样 longitude latitude geometry 8628 4 890683 52 372383 POINT 4 89068 52 37238 8629 4 890500 52 371433 PO
  • 包从flutter智能手表接收心率数据

    我正在寻找一款可以让我轻松地在三星手表或苹果手表等智能手表之间同步的包 我想从他们那里获取心率数据 有人知道这样一个与手表通信的包或想法吗 目前 所有的wear tizen和watch操作系统都有不同的机制来本地获取这些数据 所有这些都需要
  • .NET 会话不工作

    这是一个奇怪的问题 但希望有人能给我一个想法 我将一些值放入会话中Session Start of the Global asax在我的应用程序中 紧接着Session Start我的基本页OnInit接到电话并尝试使用其中之一Sessio
  • jQuery Datepicker BeforeShowDay 第二个参数

    jQuery datepicker 允许您使用 BeforeShowDay 回调突出显示日期 是否可以向该方法传递第二个参数 selector datepicker beforeShowDay selectedDay function se
  • Rails 3:如何根据Controller的方法创建命名范围?

    In my ApplicationController我有demo mode 方法 返回true当当前登录的用户类型为 demo 时 Post模型有publisher id字段 它指的是Users table User有user type字
  • 对象 # 没有方法“done”

    我试图实现简单的ajax GET 请求 在回调部分我想调用一些函数 代码如下 ajax url ajax pages ajx getcard php id obj value context document body done funct
  • 启动 Rails 服务器 Sidekiq 时出错

    当我尝试启动我的服务器时 rails s 给我以下错误 管理员 rvm gems ruby 1 9 3 p392 gems bundler 1 11 2 lib bundler runtime rb 81 in rescue in bloc
  • java中私有变量的序列化

    我有一个关于序列化的问题 如果我的类有私有变量并且没有 getter 和 setter 那么序列化 API 将如何读取这些变量的值 首先 访问权限是编译时功能 访问在运行时不受控制 这可能会让您感到困惑 但请尝试执行以下操作 创建 A 类的
  • 制作等长向量的列表

    在一个关于SO的问题中 LINK https stackoverflow com questions 10661295 apply a function over groups of columns 一个海报问了一个问题 我给出了一个有效的
  • jQuery .toggle() 显示和隐藏子菜单

    我正在使用这个问题的代码来进行显示 隐藏切换 jQuery toggle 显示和隐藏子菜单 https stackoverflow com questions 9469807 jquery toggle to show and hide a
  • OSX 惯性滚动导致 mousewheel.js 通过最轻微的滚动运动注册多个鼠标滚轮事件

    我正在开发一个非常标准的 Flexslider 实例 柔性滑块 http flexslider woothemes com 与jquery mousewheel js https github com brandonaaron jquery
  • 使用 subversion 将更改提交到与当前签出分支不同的分支

    我一直在处理从开发线检出的代码 发现所做的更改可能是破坏性更改 需要在提交到主开发树之前移动到实验分支 但是 我没有签出实验分支 并且我不想丢失已经进行的更改 有没有办法将工作文件夹中的更改提交到与最初签出的分支不同的分支 您应该从已知的分
  • Three.js中是否有一个容器类型对象来转换一组孩子?

    Three js 中是否有一个容器或节点对象 可以将多个网格添加为子对象 以便它们可以一起转换 一个不可见的容器 允许对组中的所有子对象执行转换 thanks Example http mrdoob github com three js
  • 在单个查询中将行插入到多个表中,从涉及的表中进行选择

    我有两个以下形式的表 即 每个 foo 都链接到一个栏 CREATE TABLE foo id INTEGER PRIMARY KEY x INTEGER NOT NULL y INTEGER NOT NULL bar id INTEGER
  • 如何用下划线模板显示JS对象?

    我想使用下划线模板显示 JS 数据对象 我似乎无法弄清楚如何钻取对象以获取国家 地区名称或其他日期 例如 tarrifType 并使用我的模板显示它 该物体看起来像这样 var items country China tarrifType
  • 如何在 AngularJS 中使用 Web Worker?

    我在用着AngularJS 种子 https github com angular angular seed我想看看 Web Worker 的有效实现 我想让一个简单的 Web Worker 工作以便理解它 但我遇到了功能问题 我的 Web
  • 如何以编程方式从后台恢复 Android Activity

    情况 假设我当前正在启动应用程序 Activity A 一段时间后 我按下 主页 按钮 应用程序 A 进入后台 此时 我开始使用另一个应用程序 B 例如 youtube 等 当前最小化到后台的应用程序 A 中发生了一些事情 在这种情况下发生
  • 如何在 Google 搜索 iframe 上设置自定义宽度?

    我正在尝试使用谷歌搜索我的网站 http www houseofhawkins com search php http www houseofhawkins com search php 它在某些屏幕分辨率下表现不佳 这是谷歌给出的代码 d
  • 编排微服务

    编排微服务的标准模式是什么 如果一个微服务只知道自己的领域 但有一个数据流需要多个服务以某种方式交互 那么该怎么做呢 假设我们有这样的东西 开具发票 Shipment 为了便于论证 我们假设订单发货后 就应该创建发票 在某个地方 有人按下了
  • VBA Excel 的比率条件要求

    我有一个财务数据 表明项目的健康状况 并根据差异填充颜色和字母来指示健康状况 例如 如果方差小于 5 则用字母 G 填充绿色 大于 5 但小于 20 则填充 Y 大于 20 R 我已经使用 if 语句来实现这一点 但是我需要填充整个项目的颜