Bitwise (loginės) operacijos excelyje

excel_bitwise

Neįtikėtina, bet MS Excel neturi integruotų loginių „bitwise” funkcijų! Žinoma, galima bandyti kaip nors sunktis iš padėtis ir vietoj XOR naudoti kažką panašaus į A1<>A2, tačiau visos tokios ir panašios Miscrosoft siūlomos formulių alternatyvos yra labiau prietiakytos gražinti loginę „true” arba „false” reikšmę, o ne normaliai, programuotojams priimtiną skaitinę reikšmę.

Dėkui geriems internautams, kurie sukūrė excel priedą, kuris į excel’į įdiegia funkcijas OR, AND, XOR, NOR bei postūmius į kairę ir į dešinę. Dėl viso pikto (jei dingtų originalus info šaltinis) priedą įkėliau čia: 14803-ins_xla_file 

Kaip šiuo priedu naudotis?

Pirmiau jį reikia įdiegti į excelį. Einam į File -> Options (persiprašau, bet esu priverstas darbe naudoti sulietuvintą excelį):

excel_addon_1

Excel Options lange pasirenkame meniu punką „Addons” (lt. priedai) ir spaudžiam mygtuką „Search” (lt. naršyti):

excel_addon_2

Iššokusiame lange vėl spaudžiam „Search” (lt. naršyti) ir susirandam priede pateiktą failą „4282 add ins.xla”.

excel_addon_3

Viską atlikę teisingai, galime naudotis šiomis funkcijomis:

  • BitOr(A1,B1)
  • BitAND(A1,B1)
  • BitXOR((A1,B1)
  • BitNOT(A1,B1)
  • ShiftRight(A1,B1), kur B1 yra postūmio pozicijų skaičius
  • ShiftLeft(A1,B1)

excel_bitwise2