我有3张纸。
第1页有一列,其命名范围为 PayCode ,包含约200条记录,每条记录包含一个字符串。每个单元格仅包含一个特定的字符串,但是每个字符串都可以在多个单元格中找到。其中一些字符串表示是否有员工缺席。
表2 列出了六个感兴趣的唯一字符串,其命名范围为不存在。这六个字符串是可能的薪水代码,表示是否缺勤,这就是我在 PayCode 列中寻找的内容。
在第3页上,我想计算在 PayCode 中从不存在中找到的字符串的次数。
我在网上找到的每条建议都是让我在 Sheet 2 上的列表旁边做一个COUNTIF
,以计算每个列表项出现的频率,但是我只想计数一次 PayCode 列中的缺席列表项的总出现次数中的第3张中的一个单元格。
答案 0 :(得分:2)
=COUNTIF(Paycode,INDEX(Absent,1))+COUNTIF(Paycode,INDEX(Absent,2))+COUNTIF(Paycode,INDEX(Absent,3))+COUNTIF(Paycode,INDEX(Absent,4))+COUNTIF(Paycode,INDEX(Absent,5))+COUNTIF(Paycode,INDEX(Absent,6))
此方法还可以,因为您只处理不在范围内的6个条目。基本上,如果对索引处理的每个条目都进行计数,然后为下一个条目添加值。因此,索引从1变为2到... 6。
由于斯科特·克兰纳(Scott Craner)的评论,上述公式可以简化为:
=SUMPRODUCT(COUNTIF(Paycode,absent))
或者,如果您想要一个真实的数组公式,请使用CSE输入以下内容:
=SUM(COUNTIF(paycode,absent))
答案 1 :(得分:0)
我相信using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class Program
{
public static void Main(string[] args)
{
Bird b = new Bird();
b.SetName("Tweety");
b.Chirp();
Bird b2 = new Bird();
b2.SetName("Woody");
b2.Chirp();
Console.ReadLine();
}
}
public class Bird
{
private string name;
private double weight = 30.5d;
public void SetName(string newName)
{
if (newName != null && newName.Length > 2)
{
System.Console.WriteLine("Bird already has a name");
this.name = newName;
}
else if (newName.Length < 3)
{
System.Console.WriteLine("New name must be longer than two chars");
}
else
{
name = newName;
}
}
public string GetnewName()
{
return this.name;
}
public void Chirp()
{
System.Console.WriteLine(name + " says chirp!");
}
}
}
实际上可能是解决方案。您只需要使用COUNTIF
语句设置工作表3。这些语句将参考工作表2来标识您要查找的内容,然后参考工作表1来查找您要搜索的数据。
您在工作表3上的公式如下所示
COUNTIF
在这种情况下,=countif(Sheet1!A:A,Sheet2!A1)
表示您正在搜索的区域,A:A
是您要查找的特定参考。
选项2) 如果您的搜索字词可能被限制在更长的字符串中(例如,您正在寻找“苹果”,但字符串可能是“一天一个苹果...”),则可以使用以下公式:
A1
希望这会有所帮助!
答案 2 :(得分:-1)
听起来您可以使用频率功能进行某些操作。您可以在此处找到说明:
https://support.office.com/en-us/article/frequency-function-44e3be2b-eca0-42cd-a3f7-fd9ea898fdb9