我有两个不同克隆的下调基因探针列表。
我使用公式DECLARE @RoughAverage int = 1 -- Some arbitrary value. The closer it is to the real average, the faster things should be.
DECLARE @CheckValue int = (SELECT TOP 1 checkvalue FROM #temp)
DECLARE @Sum int = 0
WHILE 1 = 1 -- Refer to BREAK below.
BEGIN
SELECT TOP (@RoughAverage) @Sum = SUM(qty) OVER(ORDER BY id)
FROM #temp
ORDER BY id
IF @Sum = @CheckValue
BREAK -- Indicating you reached your objective.
ELSE
SET @RoughAverage = @CheckValue - @Sum -- Most likely incomplete like this.
END
给出了两个克隆中下调的基因列表。
然而,我现在需要计算有多少,当我尝试复制并粘贴列表以尝试删除我无法删除的空白单元格时,它们就会消失,因为它们是公式。
我已经尝试使用=IF(ISERROR(MATCH(F2,$H$2:$H$1670,0)),"",F2)
来计算它们,但是这给了我左栏中的所有基因,因为从技术上讲,所有中间列都被公式填充。
COUNTA
如何获得中间行中出现的所有基因的副本或如何计算中间行中出现的基因数量?
答案 0 :(得分:0)
您可以采用以下两种方式之一:
我将在下面向您展示这两种解决方案。
您需要使用以下公式:
=COUNTIF($B$2:$B$10,">*")
$B$2:$B$10
是您的共享下调的范围
列(没有标题)。根据需要更改范围位置。
此公式通过计算指定范围内至少包含一个字符的所有单元格(通过在函数的*
部分中使用通配符criteria
完成)来工作。
注意:此公式仅适用于格式为文本或不是数字的单元格。您的数据集完全可以接受,因为您的数据似乎都是字符串。
如果您希望从第二列返回唯一的值列表,请在F2
中使用以下数组公式(此必须使用提交 Ctrl + Shift + 输入或它不起作用):
=IFERROR(INDEX($B$2:$B$10,MATCH(0,COUNTIF($F$1:$G1,$B$2:$B$10),0)),"")
$B$2:$B$10
是您的共享下调的范围
列(没有标题)和$F$1:$G1
是您创建的新列标题(我的名称是基因列表)来保存此唯一列表(参见下面的图片) 。根据需要更改范围位置。
在新创建的列的第一个单元格中提交公式后,可以将公式复制下来。
关于$F$1:$G1
,您可以:
- 将您的新列标题仅添加到F1
(但仍在公式中使用$F$1:$G1
),或
- 合并单元格F1
和G1
。
确保新的唯一列表排除空白单元格以及保留""
的单元格(通过公式返回)的关键是确保range
的{{1}}参数函数涵盖新列的标题(COUNTIF
)以及一个空白单元格(F1
)。空白单元格(G1
)可确保计算数据列(列G1
)中的所有空白/空单元格,从而防止它们在新列表中留下空白。在B
中将其全部包装,您可以根据需要将新范围向下拖动,而不必在整个地方看到错误。