2010年1月17日 星期日

Excel-計算文字筆劃

最近在網路上查詢時,找到了中文字筆劃和內碼的對照表。心想如何在Excel中查詢文字的筆劃呢?

而這個對照表的內碼使用16進制表示,如B欄和C欄。所以先要轉換成10進制表示,如D欄和E欄。所以:

儲存格D2輸入公式:=HEX2DEC(B2)

儲存格E2輸入公式:=HEX2DEC(C2)

儲存格I2輸入公式:

=SUMPRODUCT((CODE(H2)>=$D$2:$D$84)*(CODE(H2)<=$E$2:$E$84),$F$2:$F$84)

(看來有些字仍然查不出筆劃,因為這個對照表似乎不夠完整。)

其中CODE()函數會傳回指定文字的內碼,該內碼是以10進制表示。使用SUMPRODUCT()來查詢筆劃。

SUMPRODUCT(範圍1條件*範圍2條件,筆劃範圍)

=SUMPRODUCT(一組0,1的陣列*一組0,1的陣列,筆劃範圍)

=SUMPRODUCT(一組0,1的陣列,範圍)

以7劃為例:

SUMPRODUCT:

傳回各陣列中所有對應元素乘積的總和。

語法 :SUMPRODUCT(array1,array2,array3, ...)

Array1, array2, array3, ...   是 2 到 255 個欲求其對應元素乘積之和的陣列。

(SUMPRODUCT 函數會將所有非數值資料的陣列元素當成 0 來處理。 )

 

中文字的內碼對照表(不夠完整):

  16進制 16進制 10進制 10進制  
  範圍1 範圍2 範圍1 範圍2 筆劃
常用字: A440 A441 42048 42049 1
  A442 A453 42050 42067 2
  A454 A47E 42068 42110 3
  A4A1 A4FD 42145 42237 4
  A4FE A5DF 42238 42463 5
  A5E0 A6E9 42464 42729 6
  A6EA A8C2 42730 43202 7
  A8C3 AB44 43203 43844 8
  AB45 ACFD 43845 44285 9
  ACFE ACFE 44286 44286 10
  AD40 ADBB 44352 44475 9
  ADBC B0AD 44476 45229 10
  B0AE B3C2 45230 46018 11
  B3C3 B6C2 46019 46786 12
  B6C3 B9AB 46787 47531 13
  B9AC BBF4 47532 48116 14
  BBF5 BE51 48117 48721 15
  BE52 BE52 48722 48722 14
  BE53 BEA6 48723 48806 15
  BEA7 C074 48807 49268 16
  C075 C24E 49269 49742 17
  C24F C2CA 49743 49866 18
  C2CB C2CB 49867 49867 17
  C2CC C35E 49868 50014 18
  C35F C454 50015 50260 19
  C455 C455 50261 50261 20
  C456 C456 50262 50262 19
  C457 C4D6 50263 50390 20
  C4D7 C56A 50391 50538 21
  C56B C5C7 50539 50631 22
  C5C8 C5F0 50632 50672 23
  C5F1 C654 50673 50772 24
  C655 C664 50773 50788 25
  C665 C66B 50789 50795 26
  C66C C675 50796 50805 27
  C676 C678 50806 50808 28
  C679 C67C 50809 50812 29
  C67D C67D 50813 50813 30
  C67E C67E 50814 50814 32
罕用字: C940 C944 51520 51524 2
  C945 C94C 51525 51532 3
  C94D C962 51533 51554 4
  C963 C9AA 51555 51626 5
  C9AB C9BD 51627 51645 6
  C9BE C9BE 51646 51646 5
  C9BF CA59 51647 51801 6
  CA5A CAF6 51802 51958 7
  CAF7 CAF7 51959 51959 6
  CAF8 CBB0 51960 52144 7
  CBB1 CDDC 52145 52700 8
  CDDD D0C7 52701 53447 9
  D0C8 D44A 53448 54346 10
  D44B D6CB 54347 54987 11
  D6CC D6CC 54988 54988 12
  D6CD D779 54989 55161 11
  D77A D77A 55162 55162 12
  D77B D850 55163 55376 11
  D851 DADE 55377 56030 12
  DADF DADF 56031 56031 11
  DAE0 DCB0 56032 56496 12
  DCB1 E0EF 56497 57583 13
  E0F0 E4E5 57584 58597 14
  E4E6 E8F3 58598 59635 15
  E8F4 EBF0 59636 60400 16
  EBF1 EBF1 60401 60401 15
  EBF2 ECB8 60402 60600 16
  ECB9 ECDD 60601 60637 17
  ECDE ECDE 60638 60638 16
  ECDF EEEA 60639 61162 17
  EEEB EEEB 61163 61163 18
  EEEC EFB6 61164 61366 17
  EFB7 F055 61367 61525 18
  F056 F056 61526 61526 17
  F057 F0CA 61527 61642 18
  F0CB F0CB 61643 61643 16
  F0CC F16A 61644 61802 18
  F16B F16B 61803 61803 19
  F16C F1EA 61804 61930 18
  F1EB F267 61931 62055 19
  F268 F268 62056 62056 20
  F269 F3FC 62057 62460 19
  F3FD F4B4 62461 62644 20
  F4B5 F4B5 62645 62645 19

沒有留言:

張貼留言

好康東東