我得到了40000个左右的8个字母单词的列表,以及分析这些单词中两个字母组合的频率的内容。类似于this。
我一直在以非常丑陋和低效的方式使用COUNTIF函数,并且相信必须有更好的方法来完成此任务。
例如,下面是我将在B2:B40162包含单词列表的ED频率上使用的内容。
=COUNTIF(B2:B40162, "??????ed")+COUNTIF(B2:B40162, "?????ed?")+COUNTIF(B2:B40162, "????ed??")+COUNTIF(B2:B40162, "???ed???")+COUNTIF(B2:B40162, "??ed????")+COUNTIF(B2:B40162, "?ed?????")+COUNTIF(B2:B40162, "ed??????")
我确信不仅有更好的方法,而且还有一种方法,它使我可以选择单元格,而不是手动将字母组合放26²次。
答案 0 :(得分:2)
假设网格从C1开始(因为列表在B中)
class SaleListView(ListView):
model = Sale
template_name = 'webapp/sale.html'
context_object_name = 'sales'
def get_queryset(self, *args, **kwargs):
qs = self.model.objects.filter(transaction__owner=self.request.user)
return qs
将其放在D2中并上下复制。
以上内容将仅对每个单元格每个匹配项进行一次计数。例如,如果select col1,col2 from table1
union all
select col3,col4 form table1;
仅对=COUNTIFS($B:$B,"*" & D$1 & $C2 & "*")
计数一次,则该计数将不起作用,那么您将需要使用开始的模型对许多COUNTIF()进行加法运算。
EDITED