Справочная информация
Это вопрос-продолжение моего предыдущего вопроса о поиске стрита в раздаче криббиджа
Цель
Подсчитайте количество пар , затем наберите по 2 балла за каждую пару.
Что я пробовал
В настоящее время у меня есть два разных метода подсчета пар. Я пытался найти что-то потенциально лучшее и пытался работать с ручными массивами (надеюсь, что это правильный термин) ie. {2,3,4}
Рабочие формулы:
=(SUM(--(AGGREGATE(15,6,MOD(B1:F1-1,13)+1,1)=AGGREGATE(15,6,MOD(B1:F1-1,13)+1,{2,3,4,5})))
+SUM(--(AGGREGATE(15,6,MOD(B1:F1-1,13)+1,2)=AGGREGATE(15,6,MOD(B1:F1-1,13)+1,{3,4,5})))
+SUM(--(AGGREGATE(15,6,MOD(B1:F1-1,13)+1,3)=AGGREGATE(15,6,MOD(B1:F1-1,13)+1,{4,5})))
+(AGGREGATE(15,6,MOD(B1:F1-1,13)+1,4)=AGGREGATE(15,6,MOD(B1:F1-1,13)+1,5)))*2
и
=((MOD(B1-1,13)+1=MOD(C1-1,13)+1)
+(MOD(B1-1,13)+1=MOD(D1-1,13)+1)
+(MOD(B1-1,13)+1=MOD(E1-1,13)+1)
+(MOD(B1-1,13)+1=MOD(F1-1,13)+1)
+(MOD(C1-1,13)+1=MOD(D1-1,13)+1)
+(MOD(C1-1,13)+1=MOD(E1-1,13)+1)
+(MOD(C1-1,13)+1=MOD(F1-1,13)+1)
+(MOD(D1-1,13)+1=MOD(E1-1,13)+1)
+(MOD(D1-1,13)+1=MOD(F1-1,13)+1)
+(MOD(E1-1,13)+1=MOD(F1-1,13)+1))*2
Мне понравилась возможность использовать {2,3,4,5 }, чтобы помочь построить все возможные комбинации. Однако AGGREGATE выполняет шаг сортировки, который мне на самом деле не нужен. Я пытался повозиться с INDEX, чтобы обойти этап сортировки, и я подумал, что это одна из тех функций, которые выполняют операции с массивами, не являясь массивом, таким как AGGREGATE или SUMPRODUCT. Однако я не мог заставить его работать. Это то, что я пробовал:
=SUM(--((MOD(INDEX(B1:F1,1)-1,13)+1)=(MOD(INDEX(B1:F1,{2,3,4,5})-1,13)+1)))
=SUM(--((MOD(INDEX(B1:F1,1,1)-1,13)+1)=(MOD(INDEX(B1:F1,1,{2,3,4,5})-1,13)+1)))
Обратите внимание, что это просто доказательство концепции проверки первой карты против остальной руки и карты терна. Я не видел смысла строить остальную часть формулы, если не мог заставить работать первую часть. Я пробовал использовать его как для одномерного, так и для двухмерного эталонов на случай, если это изменит ситуацию ... нет! Я также пробовал использовать SUMPRODUCT вместо SUM, и я также попробовал ввести CSE.
Вопрос
Я ошибаюсь в использовании INDEX? Есть ли лучший способ с помощью формул для проверки всех потенциальных пар?
Пример данных
| B | C | D | E | F | POINTS
+----+----+----+----+----+
| 1 | 14 | 27 | 40 | 2 | <= 12 (4 of a kind, 6 pairs)
| 1 | 2 | 27 | 28 | 14 | <= 8 (1 triple and 1 double aka full house in poker, 4 pairs)
| 1 | 14 | 27 | 28 | 52 | <= 6 (1 triple, 3 pairs)
| 1 | 2 | 27 | 28 | 52 | <= 4 (2 pairs)
| 1 | 2 | 14 | 51 | 52 | <= 2 (1 pair)
| 1 | 2 | 3 | 4 | 52 | <= 0 (no pair)
Версия Excel
Excel 2013