EXCEL:使用多列中的唯一数据生成一行

时间:2017-03-03 15:41:06

标签: excel excel-formula

我在Excel中有一个数据矩阵,我想只使用公式连续写入该数据中的唯一值。到目前为止,我发现的大多数公式都将唯一值写入一列,并从单列中获取数据。我附上了我需要的一个例子的图像。

在示例中数据在B2:D4中,唯一结果将打印在F2:I2中,提前感谢您的帮助

example of exercise

4 个答案:

答案 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;
    }
}

enter image description here

答案 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(,))))

......并填写正确。

enter image description here

答案 2 :(得分:1)

如果数据在 B2 D4 ,则在 F2 中输入:

=MIN($B$2:$D$4)

并在 G2 中输入数组公式

=MIN(IF($B$2:$D$4>F2,$B$2:$D$4))

并复制:

enter image description here

必须使用 Ctrl + Shift + 输入输入

数组公式,而不仅仅是 Enter key。

答案 3 :(得分:-1)

你只需要使用公式吗? “数据”选项卡下的“删除重复项”功能听起来非常适合此类问题。我不确定Remove Duplicates是否可以生成水平数据,但转置功能可以很容易地解决这个问题。