从具有不同字符长度的单元格中提取数字

2023-11-29

我有一组单元格,字符串的第一个永远不会改变,它是并且总是会改变(直到编码器更改它)20字符(包括空格)。

然后我想从剩余序列中提取 3 个数字(在某些情况下为 2 个)。

The monthly cost is 2 silver, 1 copper and 40 iron.
The monthly cost is 1 silver, 94 copper and 40 iron.
The monthly cost is 1 silver and 75 copper.
The monthly cost is 8 silver and 40 copper.
The monthly cost is 1 silver.
The monthly cost is 99 silver, 99 copper and 99 iron.
The monthly cost is 1 gold.

在上面的示例中,您可以看到前 20 个字符之后没有设置值。

1 or 99 silver 
1 or 99 copper
0, 1 or 99 iron  

我无法获得使所有单元格都正确的序列,我尝试了以下方法:

=IF(J7<>1,(MID(TRIM(J7),FIND(" iron",TRIM(J7))-2,FIND(" iron",TRIM(J7))-FIND(" iron",TRIM(J7))+3)),"")    
results in:  #VALUE!  (when no iron)  

=TRIM(MID(J6,FIND(" silver",J6)-2,LEN(J6)-FIND(" silver",J6)-26))&TRIM(MID(J6,FIND(" copper",J6)-2,LEN(J6)-FIND(" copper",J6)-16))&TRIM(MID(J6,FIND(" iron",J6)-2,LEN(J6)-FIND(" iron",J6)-3))  
results in:  1 s9440   

=MID(J7,31,2-ISERR(MID(J7,21,1)+0))  
results in:  nd

If I &单元格作为计算的一部分,然后它们不会在下一个数学步骤中进行计算,因为我必须考虑到spaces在我的代码中,如果可能有 2 位数字,而不是单个数字。

=MID(J5,SEARCH(" silver",J5,1)-2,2)&MID(J5,SEARCH(" copper",J5,1)-2,2)&MID(J5,SEARCH(" iron",J5,1)-2,2)  
results:   2 140
not:       2140

我最终需要的是:

2140  
19440  
175  
840  
1  
999999   

提前谢谢了。


这个公式对我来说适用于你的数据,假设单元格 A1 中有文本字符串

=IFERROR(MID(A1,SEARCH("silver",A1)-3,2)+0,"")&IFERROR(MID(A1,SEARCH("copper",A1)-3,2)+0,"")&IFERROR(MID(A1,SEARCH("iron",A1)-3,2)+0,"")

我猜你不想要“黄金”的价值?

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

从具有不同字符长度的单元格中提取数字 的相关文章

  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • 当时间为 00:00 时,Pandas 读取 excel 返回类型对象

    在更新版本的 Pandas 中 我使用的是 1 2 3 当从 Excel 文件读取时间时 时间为 00 00 00 时会出现问题 下面的脚本 其中 filepath 是我的 Excel 文件的路径 其中包含一个标题名为 Time 的列 im
  • Excel 工作簿 - 从 C# 读取速度非常慢?

    正在尝试读取 Excel 工作簿 发现读取 3560 行 7 列的工作表需要很长时间 大约需要 1 分 17 秒 我所做的就是循环遍历整个工作表并将值存储在列表中 这是正常现象 还是我做错了什么 static void Main strin
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 如何在 Excel 中对一组数据进行排序以匹配另一组数据?

    我有一个不按字母或数字顺序排列的数据列表 我想对同一日期的第二个列表进行排序以匹配第一个列表 我无法更改数据的顺序 我的目标是将第二组中的附加数据粘贴回第一个数据集中 DATA SET A DATA SET B 22350 BH160 10
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 将包含宏的工作簿复制到不带宏的工作簿

    我能够复制工作簿 复制到所需位置 其中在后台包含宏 该副本还包含相同的宏 我的问题是我不希望这个重复的工作簿包含宏 谁能告诉怎么做吗 先感谢您 将您的工作簿保存为无宏 即简单地保存为 Excel 工作簿 对于我的 Excel 2007 这是
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 输入新行并复制上面单元格中的公式

    我正在尝试创建一个 Excel 宏来执行以下操作 在文档末尾输入新行 复制上面单元格中的公式 到目前为止我有这个 Sub New Delta Go to last cell Range A4 Select Selection End xlD
  • 在Excel中,我可以使用超链接来运行vba宏吗?

    我有一个包含多行数据的电子表格 我希望能够单击一个单元格 该单元格将使用该行中的数据运行宏 由于行数总是在变化 我认为每行的超链接可能是最好的方法 ROW MeterID Lat Long ReadX ReadY ReadZ CoeffA
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • 有没有更快的方法来使用Powershell解析Excel文档?

    我正在与一个接口MS Excel文件通过Powershell 每个 Excel 文档可能有大约 1000 行数据 目前这个脚本似乎读取了Excel文件并以每 0 6 秒 1 条记录的速率将值写入屏幕 乍一看 这似乎非常慢 这是我第一次阅读E
  • Excel 2003 中的 IFERROR

    我通过阅读几个线程了解到IFERROR在 Excel 2003 中由IF ISERROR 我尝试从 Excel 2007 复制的代码是 IFERROR A1 我知道必须有一个简单的解决方案将其转换为IF ISERROR 但我没有任何效果 意
  • 在 Excel 中生成随机 -1 和 +1 值

    The Rand 函数会生成一个 0 到 1 之间的实数 这Randbetween 1 1 将生成 1 0 或 1 我想要的只是 1或1 那么 1 到 1 之间的实数呢 Easy IF RAND lt 0 5 1 1 要获得实数 请使用 R
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 如何使用vba复制Excel工作表中的动态范围

    我试图使宏中的范围是动态的 而不指定最后一行x Sheets SheetName Range A2 K1000 Copy在 1000 行中 我想将其更改为动态 因为有时我的数量会更少或更多 尝试这个 Sub Test Dim lRow as

随机推荐

  • 管理托管 (C#) 和非托管 (C++) 对象的析构函数

    我在 C DLL 中有一个托管对象 它维护 C DLL 中非托管对象的匿名整数句柄 在 C DLL 内部 匿名整数在 std map 中用于检索非托管 C 对象 通过这种机制 我可以使用匿名整数句柄维护托管对象和非托管对象之间的松散关联 在
  • 如何在 ClearCase UCM 中通过给定视图名称检索流名称?

    我试图弄清楚如何检索给定视图所属的流 当我使用 ClearCase Explorer 并右键单击视图的属性时 我得到了它的流名称 但我找不到如何使用脚本检索它 流信息不会出现在视图 vws 文件或注册表中 我知道我可以做一些操作来从视图的配
  • g++ 不显示“未使用”警告

    我有一段 C 代码 include
  • MvvmCross MvxWindowsPage 编译错误

    我正在写一个Xamarin iOS Xamarin Android and UWP使用 MvvmCross 框架的跨平台应用程序 我正在制作一个具有 LoginViewModel 的 LoginPage 在里面Xamarin iOS Xam
  • 为什么 gdb 将 sqrt(3) 计算为 0?

    3 的平方根 由 Wolfram Alpha 估计 1 7320508075688772935274463415058723669428052538103806280558 当我做sqrt 3 在 C 中 它的计算结果为 0 为什么 EDI
  • 如何对字符串中包含日期的数组按降序排序? [复制]

    这个问题在这里已经有答案了 我想按降序对包含日期字符串的数组进行排序 我已经尝试过这样的答案 但我得到了错误的输出 请看我的代码如下 NSArray dateArray NSArray arrayWithObjects 01 12 2012
  • WindowChrome ResizeBorderThickness 问题

    我正在设计一个窗口 但我注意到 WindowChrome 的这种奇怪行为 在 NET FW 4 0 中 来自外部 Microsoft Windows Shell dll 我将 WindowChrome 设置为 AllowTransparen
  • 在条形图中绘制前 n 项和其他项

    我正在与一个二战盟军爆炸数据集来自 Kaggle 它有一个具有五个级别的分类变量 我试图绘制两个最高的轰炸机 美国和英国 并将其他轰炸机 南非 新西兰 澳大利亚 分组到条形图上 如何将最小的组聚合到 其他 组中 目前的方法 我有一个解决方法
  • 获取一个 NSArray

    我想知道如何结合两个array合而为一array 我想要合并的tableView显示最新的 我将根据需要发布任何额外的代码或帮助 非常感谢 在 UITableViewDataSource 方法中 组合两个数组并相应地使用一个或另一个 NSI
  • 在oracle中使用sequence.nextval创建表[重复]

    这个问题在这里已经有答案了 我使用以下查询创建了一个序列 create sequence qname id seq start with 1 increment by 1 nocache 现在 当我尝试创建一个使用上述序列的表时 它会抛出以
  • 使用流体/通量将配置字段添加到typo3页面

    我已经设置了一个站点来使用 Flux FLUIDCONTENT 作为模板 并使用此处的教程使其工作 http thomas deuling org 2011 06 create base html fluid templates for t
  • 导航栏未显示在移动设备上

  • 重新加载 ng-repeat 数据失败,我做错了什么?

    我喜欢重新加载ng repeat我处理一些数据后的元素 但失败了 我想知道我做错了什么 所以一般的进程id是我从 iframe php 加载一些数据 然后将数据插入到一个不可见的div标签中 以便jquery将数据 html格式 映射到js
  • C# 泛型中是否有合理的“默认”类型参数方法?

    在 C 模板中 可以指定某一类型参数为默认值 IE 除非明确指定 否则它将使用类型 T 这可以在 C 中完成或近似吗 我正在寻找类似的东西 public class MyTemplate
  • 将对象从一个数组移动到另一个数组

    我有一个对象 其属性之一是对象数组 其想法是 如果一个条件为真 则将对象从该数组移动到新的数组 public onInit void this getTicket public ticket any Object with the arra
  • 将 pandas 数据框中的列从 int 转换为 string

    我在 pandas 中有一个数据框 其中包含混合的 int 和 str 数据列 我想首先连接数据框中的列 为此 我必须转换int列至str 我尝试执行以下操作 mtrx X 3 mtrx to string columns X 3 or m
  • 使用 httr 进行网页抓取会出现 xml_nodeset 错误

    我尝试复制网址以进行网络抓取 它从给定的 startDate 循环到 endDate 这是我的代码 startDate lt as Date 01 11 17 format d m y endDate lt as Date 31 01 18
  • 在多行文本文件上使用 StringTokenizer 时出错

    我正在尝试读取一个文本文件并使用java中的字符串分词器实用程序单独分割单词 文本文件如下所示 a 2000 4 b 3000 c 4000 d 5000 现在 我想做的是从文本文件中获取每个单独的字符并将其存储到数组列表中 然后我尝试最后
  • EF4 中的模拟实体上下文

    我正在使用 VS2010 B2 和 EF4 B2 并尝试使用 Rhino Mocks 来模拟 EEF 生成的实体上下文 var context MockRepository GenerateMock
  • 从具有不同字符长度的单元格中提取数字

    我有一组单元格 字符串的第一个永远不会改变 它是并且总是会改变 直到编码器更改它 20字符 包括空格 然后我想从剩余序列中提取 3 个数字 在某些情况下为 2 个 The monthly cost is 2 silver 1 copper