Excel – 当数据不足时返回一个列标题

我在这方面相当缺乏经验,但我很快学习。 我是一位老师,被告知要保留学生一年四季不同实地考察的名单。 我可以生成一个只有每个学生参加的旅行清单吗?

个别学生姓名左下,列包含行程名称。 如果他们参加了这次旅行,我将这些单元填入“1”。

我的Excel文档的屏幕截图

帮帮我! : – )

这是一个非常简单的结构,你可以适应。 列A包含学生姓名。 第一行包含实地考察(大部分是对天王星的卫星,一个是对斯普林菲尔德的卫星)

在这里输入图像说明

运行这个简短的macros:

Sub TripTracker() Dim i As Long, j As Long, v As String For i = 2 To 6 v = "" For j = 2 To 23 If Cells(i, j) = 1 Then v = v & ", " & Cells(1, j) Next j Cells(i, 24).Value = Mid(v, 2) Next i End Sub 

将在X栏中生成每个学生旅行列表:

在这里输入图像说明

这里是不需要VBA的解决scheme。

如果他们出差旅行时不用“1”填充单元格,用“,”和行程名称填充单元格。

您可以使用counta()来计算每个学生的行程,然后连接表右侧的每个单元格。

这会给你一个每个学生的旅行和一个方便的清单的总和:

 =Substitute(Concatenate(cell1, cell2...celln),",","",1) 

这有点麻烦,因为您必须select每个单元格以连接第一行,但是可以将公式向下拖动以适用于所有行。 这可以很容易地将学生添加到列表中,只需拖放您的公式。

用ZLS代替第一个逗号将删除前面的逗号。

样品!