我遇到了一个无法解决的问题,或者无法找到适合我的结果。
我有一张包含实验室输入数据的表格。日期基于采样时间,每个采样点以不同的频率采样。例如:
样本 A 2014 年 1 月 1 日 13:03(不同列,将来为“/c”)6.2 /C 样本 B 2014 年 1 月 1 日 16:43 /C 7.2(依此类推,约 50 个样本)
我将在工作表中有数百个这样的结果,我需要制作一个摘要,可以查找我输入的月份和年份,并返回输入月份的所有结果的平均值。当时间不是因素时,我使用查找和匹配函数成功做到这一点,但当时间发生变化时失败。
我尝试使用月份函数,但还没弄清楚如何提取与月份匹配的日期。
有什么想法吗?我对 Excel 有一定的了解,但这个问题让我很困惑。
答案1
只是一些建议:如果可以的话,将样本名称及其数据时间分成两列(或三列:样本、日期、时间),然后使用 Excel 提供的排序/过滤功能。
另一个想法是添加新列,并编写一个简单的函数从包含采样时间的单元格中提取日期字符串,然后按包含这些函数的列进行排序/过滤。
示例函数:date '=left( right(A1, len('1/1/2014 10:30'), len('1/1/2014'))'
更好的想法是使用搜索函数获取采样时间字符串中子字符串(仅包含日期)的开始和结束位置,然后提取月份和/或日期。
在某些情况下,需要修剪采样时间字符串开头和尾部的空格。
一些Excel字符串函数参考:
http://office.microsoft.com/en-us/excel-help/text-functions-reference-HP010079191.aspx http://office.microsoft.com/en-us/excel-help/trim-function-HP010062581.aspx?CTT=5&origin=HP010079191 http://office.microsoft.com/en-us/excel-help/search-searchb-functions-HP010062577.aspx?CTT=5&origin=HP010079191
更好的做法:包含实验室,以便他们可以以更好的格式为您提供数据(有样本名称、日期、时间分隔)。
答案2
我同意日期和样本 ID 应该存储在单独的列中,但如果您只需要提取月份,则可以使用下面的方法
单元格值样本 B 2014-1-1 16:43(假设为 mm/dd/yyyy)
=MID(A1,FIND("/",A1)-2,2)*1
结果为 1。
这是如何运作的。
这将找到单元格中的第一个 / 并返回其前面的 2 位数字。
* 1 将文本转换为数字,并且会删除前导 0