如何在缩进层次结构中找到父级?

2024-06-19

我目前有一张 Excel 工作表,其中包含缩进的项目层次结构,如下所示。
每个项目都缩进(每个缩进四个空格)以显示它如何适应整体层次结构。
我已经能够创建一个“级别”列,将缩进级别转换为数字。

    +------------+-------+--------+
    |    Item    | Level | Parent |
    +------------+-------+--------+
    | P1         |     1 | N/A    |
    |     P2     |     2 | P1     |
    |     P3     |     2 | P1     |
    |         P4 |     3 | P3     |
    |     P5     |     2 | P1     |
    |         P6 |     3 | P5     |
    +------------+-------+--------+

我想要做的是生成上面的“父级”列,它使用“级别”信息来显示每个项目的父级。
我认为这需要通过一个循环来完成,该循环将为每个项目 X 执行此操作:

    -Find level info for X
    -Find (levelx-1) which would equal the parent item's level
    -Search upward for the first row with a level equal to (levelx-1)
    -Find the item number in that row
    -Write item number in adjacent cell to X

不幸的是,我不知道如何将这个想法转化为 VBA。
预先感谢您的任何帮助。


好的,假设上表从单元格 A1 开始,有用数据从第 2 行开始。这个公式可以解决这个问题:

=INDEX($A$1:$A$7,MAX(IF($B$2:$B2=B2-1,ROW($B$2:$B2),"")))

在单元格中输入此内容C2作为数组公式(Ctrl+Shift+Enter),然后将其下拉。第一个显然是一个错误(不是#NA but #VALUE).

怎么运行的:

IF($B$2:$B2=B2-1,ROW($B$2:$B2),"")

这将创建一个数组,其中包含比实际值低一级的值的行号。仅检查值above当前行,您需要使用扩展范围,因此$B$2:$B2风格参考。

The MAX函数获取这些行的最大值,这是最接近我们当前单元格的。现在我们有了行号。我们现在需要的是一个从列中提取数据的公式A从指定的行。这是什么INDEX does.

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

如何在缩进层次结构中找到父级? 的相关文章

  • 如何将文本日志文件导入 Excel 列

    我有一些表格数据 39645961 79966658 358920045121212 0 75 2013 01 30 20 47 52 39646124 79966771 358920045121212 0 5 2013 01 30 20
  • 将日期格式设置为 mm/dd/yyyy 文本

    一旦 mm dd yyyy 格式的日期与空格和文本连接起来 例如 05 03 2015 摘要报告 您如何将此连接的单元格复制到另一个单元格作为文本 但没有日期变成 42127摘要报告 CONCATENATE TEXT A1 月 日 年 总结
  • 在 Excel 中,对每行的一列中的所有值求和,其中另一列是特定值

    我想知道是否有一种简单的方法可以完成我正在寻找的事情 基本上 我在 Excel 2011 中有一个包含大量数据的资产负债表 我一直希望看到的一项具体信息是尚未报销的金额 换句话说 我有一栏显示已支付的金额 另一栏显示是否已报销 是 否 我想
  • VBA:对矩阵求和

    为什么这个功能不起作用 Type funtest 2 1 在 Excel 中 它会给我 VALUE Public Function funtest a As Double As Double Dim z j i As Integer Dim
  • 如何为使用 NPOI 创建的 Excel 中的单元格设置验证

    我使用以下命令创建了一个 excel 文件NPOI使用以下代码 var workbook new HSSFWorkbook var sheet workbook CreateSheet Candidate Add header labels
  • Excel 美元符号文本未转换为数字

    当我将欧元或英镑值输入 Excel 工作表时 它们会自动识别为数字 货币并右对齐 我还可以提取它们的值 例如 10 自动右对齐 使用公式 VALUE A1 正常返回 10 这在使用 符号时也有效 但是 如果我使用 符号 该值将被识别为文本
  • 如果工作簿和工作表未处于活动状态,则无法使用范围[重复]

    这个问题在这里已经有答案了 当我尝试将值从一个工作簿导入到另一个工作簿时 出现应用程序或对象定义的错误 我已经能够通过显式激活工作簿并在引用每个工作表的范围之前选择工作表来解决此问题 但如果可能的话 我想避免这种情况 此时 两个工作簿都在代
  • 使用嵌入资源打开 Excel 工作簿文件

    我正在使用 Microsoft Office Interop 打开 Excel 文件 该文件被放置在一个特殊的文件夹中 工作簿代码从该文件夹中读取该文件 现在 要求是Excel文件可以放在任何地方 我认为最好的方法是将 Excel 文件作为
  • 处理 1.15 亿个细胞的最快方法是什么?

    我收到了一项工作任务 其中我要查找 8 位数字并将其替换为来自 2 列表的相应新值 基本上是一个 vlookup 然后用新值替换旧值 我面临的挑战是 2 列表有 882k 行 我尝试替换的单元格约为 1 2 亿 41 000 行 x 300
  • Excel的INDEX函数可以返回数组吗?

    如果数据在范围内A1 A4如下 Apple Banana Orange Strawberry Then INDEX可用于单独返回该列表中的任何值 例如 INDEX A1 A4 3 会回来Orange 是否有类似的 Excel 函数或函数组合
  • 在php中将excel转换为xml

    我想读取 Excel 文件并根据该数据创建 XML 文件 在php中可以吗 Thanks 快速谷歌搜索发现this PHP https github com PHPOffice PHPExcelCodePlex 上的项目 您可能想看一下 它
  • Excel 单元格对齐:例如数值xlLeft、xlRight 还是 xlCenter?

    我一直在尝试对齐 Excel 单元格文本值 我尝试过更常见的xlLeft xlRight但这似乎不起作用 错误是xlLeft没有宣布 我正在使用 Visual Studios 并使用 VB 创建一个 aspx 页面 这是我的代码示例 Dim
  • Excel 中数字的条件格式(自定义格式)具有多个条件

    我想根据单元格中的值动态地将数字格式化为 M 百万 B 十亿 或 K 千 我尝试过 但这不起作用 gt 1000000000 0 B gt 1000000 0 M gt 1000 0 K 0 如果我给出任意两个条件 它就会起作用 例如 gt
  • 基于两列值的VLOOKUP

    我有一个表 其中一列包含用户 ID 这些被多次输入以显示特定主题的结果 ID Topic Pass Fail 71086686 Science P 71086686 Maths P 71086686 Tech P 71086686 ICT
  • 如何使用 VBA 在 Excel 中搜索单词然后删除整行? [复制]

    这个问题在这里已经有答案了 请有人帮忙 我正在尝试编写一个 VBA 代码 在 Excel 工作表 D 列中搜索特定单词 DR 然后删除整行 工作表中特定单词多次出现 我想做的就是搜索这些出现的情况 然后删除包含这些单词的整行 我的问题是我不
  • 如何在vba中查找命名形状的索引号

    我运行了以下代码 for i 1 to activedocument Shapes count debug Print activedocument shapes i name next 并获得了形状列表 但是缺少一个形状 我选择了一个未包
  • 替换VBA中的变量字符串

    我需要替换字符串中的某些内容 但替换的内容可能会有所不同 有可能 XY test XXxY test XXyyXx TEST yXyy Test 以及几乎任何其他空格和上述情况的组合 我需要替换 test 部分并保留 XXX 所以 当使用简
  • 如何使用 VBA 在 Excel 2010 工作表中添加选项按钮以进行分组?

    I want to add many option button to an excel worksheet not to a VBA form and want to group them by row The result should
  • 在vba中为图例设置颜色代码

    我在每个工作表中都有数据透视表 我必须对它们进行比较 但每个工作表中图例的颜色都不同 如何设置颜色 例如 如果我的图例条目是 ISO 我希望它始终为 蓝色 如果它是 LAT 我希望它在每张纸中都为 红色 这可以通过操纵来完成Series中的
  • C# 如何判断单元格中的公式是否有错误

    在 Excel 公式中 您可以使用 ISERR A1 or ISERROR A1 在 VBA 宏中 您可以使用IsError sheet Cells 1 1 但是使用 VSTO Excel Addin 项目我没有在 Microsoft Of

随机推荐

  • 编译错误:只有赋值、调用、递增、递减和新对象表达式可以用作语句[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 string cipherData byte cipherbytes byte plainbytes byte plainbyte
  • LightGBM:继续训练模型

    我正在使用交叉验证来训练模型 如下所示 classifier lgb Booster params params train set lgb train set result lgb cv init model classifier par
  • 如何暂停或恢复 celery 任务?

    我的项目中有一项要求 客户可以暂停或恢复正在挂起的流程 而不是流程流程 我在用网络套接字显示芹菜任务结果 但在暂停 恢复时我不明白如何设计代码 我想到的唯一方法就是revoke暂停请求中的任务 同时保留数据撤销的过程在缓存中 并稍后在res
  • 高效秒表

    您好 我正在用 javascript 编写一个秒表实用程序 我有一个关于效率和开销的问题 我考虑过两种制作秒表的方法 1 存储开始日期并不断测量自该日期以来经过的毫秒数 2 创建一个整数并按设定的时间间隔递增其值 我想知道哪个最有效 另外
  • 我如何在 viewDidLoad 中执行 UIView animateWithDuration ? IOS 7

    我在 viewDidAppear 中尝试这个 但我有一秒钟的延迟 我能做什么 在 viewDidLoad 中工作 void viewDidAppear BOOL animated fullRotation CABasicAnimation
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • 无法访问类型的封闭实例。 [复制]

    这个问题在这里已经有答案了 整个代码是 public class ThreadLocalTest ThreadLocal
  • 带有 jQ​​uery 日期选择器 OnTextChanged 的​​文本框未触发

    我有一个带有 OnTextChanged 事件的 asp textbox 当从绑定到它的 jQuery 日期选择器中选择新日期时 我想触发该事件 但在选择日期时 OnTextChanged 永远不会触发 如果我 手动 更改文本 它会触发 但
  • 字符串模板:使所有变量声明全局

    我正在尝试使用 ANTLR StringTemplate 实现翻译器 我有一种类似于 java 的起始语言和多种目标语言 我用了这个例子 http www antlr org wiki display ST Language Transla
  • 如何设置 tmux 在启动时打开指定的窗口?

    如何设置 tmux 使其在启动时打开指定的窗口 您可以编写一个小 shell 脚本来启动 tmux 以及所需的程序 我在一个名为 dev tmux 的 shell 脚本中包含以下内容 开发环境 bin sh tmux new session
  • 检测输入何时具有“只读”属性

    我想在输入具有 只读 属性时发出警报 我已经尝试过这个 if input attr readonly readonly alert foo 我认为 如果 甚至不是最好的方法 最快的方法是使用 is jQuery 函数 if input is
  • 使用 include 的 Javascript 过滤对象

    我正在尝试使用 javascript 中的 filter 函数来过滤对象 我想过滤这样的数组 1615 1616 它在代码中被引用为 value verdier 数据集是一个大型数组 包含从 JSON 字符串解析的具有多个属性的对象 数组中
  • 将箱线图添加到Python中的其他图表中

    这两个图的每个点的 x 轴值完全相同 是否可以在第一个图的顶部显示盒须 我试过这个 fig1 plt figure ax fig1 add subplot 211 ax set xscale log ax plot x7 y7 c ax p
  • 正则表达式将从文本文件中提取句子

    我需要一个正则表达式来从文本文件中提取句子 示例文本 以 2004 年底发生的亚洲海啸灾难为例 对 Google 新闻 http news google com 的查询在一个月内 1 月 17 日 返回了超过 80 000 篇有关该事件的在
  • 如何发布数组多维角度js

    我在 angularjs 中有一个数组 示例如下 scope order qty 20 scope order adress Bekasi scope order city Bekasi 这个数组可以用这个代码发布 http method
  • x86 asm 的 NASM 语法中的括号是什么意思?

    给出以下代码 L1 db word 0 mov al L1 mov eax L1 括号里是什么意思 L1 代表 这个问题专门针对 NASM Intel 语法汇编的另一个主要风格是 MASM 风格 当不涉及寄存器时 括号的工作方式有所不同 S
  • artisan 明确编译返回错误代码 255

    跑步时composer install在我的 laravel 项目中 我收到错误 脚本 php artisan 清晰编译处理返回的 post install cmd 事件 错误代码为 255 关于可能出现的问题有什么建议吗 请注意 comp
  • 如何在不下载内容的情况下执行 GET 请求?

    我正在开发一个链接检查器 一般来说我可以执行HEAD请求 但是有些网站似乎禁用了这个动词 所以在失败时我还需要执行GET请求 仔细检查链接是否确实已失效 我使用以下代码作为我的链接测试器 public class ValidateResul
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • 如何在缩进层次结构中找到父级?

    我目前有一张 Excel 工作表 其中包含缩进的项目层次结构 如下所示 每个项目都缩进 每个缩进四个空格 以显示它如何适应整体层次结构 我已经能够创建一个 级别 列 将缩进级别转换为数字 Item Level Parent P1 1 N A