我在Excel中有一个数据矩阵,我想只使用公式连续写入该数据中的唯一值。到目前为止,我发现的大多数公式都将唯一值写入一列,并从单列中获取数据。我附上了我需要的一个例子的图像。
在示例中数据在B2:D4中,唯一结果将打印在F2:I2中,提前感谢您的帮助
答案 0 :(得分:1)
我能得到的最接近的是按照从大到小的顺序给出一个唯一的列表:
public class A
{
List<B> _list;
public A()
{
_list = new List<B>();
}
public void AddNewB(DateTime time)
{
_list.Add(new B(time));
}
public List<B> GetAllBs()
{
return _list;
}
}
答案 1 :(得分:1)
将此数组公式应用于带CSE的F2,
=IFERROR(INDEX($B$2:INDEX($B:$B, MATCH(1E+99, $B:$B)), MATCH(0, COUNTIF($E2:E2, $B$2:INDEX($B:$B, MATCH(1E+99, $B:$B))), 0)),
IFERROR(INDEX($C$2:INDEX($C:$C, MATCH(1E+99, $C:$C)), MATCH(0, COUNTIF($E2:E2, $C$2:INDEX($C:$C, MATCH(1E+99, $C:$C))), 0)),
IFERROR(INDEX($D$2:INDEX($D:$D, MATCH(1E+99, $D:$D)), MATCH(0, COUNTIF($E2:E2, $D$2:INDEX($D:$D, MATCH(1E+99, $D:$D))), 0)), TEXT(,))))
......并填写正确。
答案 2 :(得分:1)
如果数据在 B2 到 D4 ,则在 F2 中输入:
=MIN($B$2:$D$4)
并在 G2 中输入数组公式:
=MIN(IF($B$2:$D$4>F2,$B$2:$D$4))
并复制:
必须使用 Ctrl + Shift + 输入输入数组公式,而不仅仅是 Enter key。
答案 3 :(得分:-1)
你只需要使用公式吗? “数据”选项卡下的“删除重复项”功能听起来非常适合此类问题。我不确定Remove Duplicates是否可以生成水平数据,但转置功能可以很容易地解决这个问题。