Выражение доступа: подсчет уникальных значений в нескольких столбцах
Как я могу использовать MS Access Expression для подсчета уникальных значений в нескольких столбцах, как показано ниже? Я использовал Countif в Excel, чтобы получить счетчики "Да" в столбце состояния, и теперь я хочу использовать выражение MS Access, чтобы получить те же результаты.
1 ответ
Решение
Используйте функцию, чтобы сделать агрегат строки.
проверить это
Public Function count_sum(col1 As String, col2 As String, col3 As String) As Integer
Dim count_yes As Integer
count_yes = 0
If (col1 = "YES") Then
count_yes = count_yes + 1
End If
If (col2 = "YES") Then
count_yes = count_yes + 1
End If
If (col3 = "YES") Then
count_yes = count_yes + 1
End If
count_sum = count_yes
End Function
вызвать эту функцию, используя следующий запрос
SELECT col1,col2,col3, count_sum([col1],[col2],[col3]) as Status
FROM Table1;
Вы также можете использовать эту функцию в условной форме.
В текстовом поле статуса добавьте источник управления, подобный этому, ИЛИ непосредственно используйте вышеуказанный запрос и выберите источник управления в качестве статуса.
=Nz(count_sum([col1];[col2];[col3]);0)