Kategórie
Excel Google Sheets

Ako filtrovať bunky s tučným písmom (bold)

Posledne som prechádzal veľkou tabuľku a v nej som si značil všetky hodnoty, ktoré som z nej potreboval následne filtrovať. Pre jednoduchosť klávesovej skratky CTRL + B som sa rozhodol tento výber označovať tučným písmom – boldom.

Keď som si takto označil väčšinu – približne 2000 slov, zvyšok mal byť už jednoduchý – len obyčajný filter tučných slov v tabuľke. Len keby sa to vôbec dalo…!

Z nejakého dôvodu som si myslel, že filter nad typom písma bude možný, tak, ako je možný filter nad farbou podfarbenia.


Mal som dve možnosti, buď si opäť manuálne označiť všetky tučné bunky a podfarbiť ich, alebo prísť na spôsob, ako ich šikovne podfarbiť naraz. A následne podfarbené bunky vyfiltrovať. Ale dá sa to vôbec?

Ako označiť všetky bunky s tučným písmom (bold) v Exceli?

V Exceli existuje jedna skvelá funkcia. Dajú sa tu vyhľadať a označiť všetky bunky na základe formátu písma – a to rovno v nastaveniach z hlavného menu.

  1. V menu Domov klikneme v časti Úpravy na Hľadať.
  2. V zobrazenom okne vyberieme Formát a v tabe Písmo vyberieme Tučné.
  3. Dáme vyhľadať všetky bunky s tučným písmom stlačením na Hľadať všetky.
  4. Tu sa nám vyroluje zoznam všetkých buniek s tučným písmom. Na to, aby sme si ich naraz aj všetky označili, stlačíme klávesovú skratku CTRL + A (vyber všetky).
  5. Takto všetky označené bunky len podfarbíme obľúbenou farbou a dáme filtrovať.

A čo keď pracujeme v Google Sheets?

V Google Sheets sa mi nepodarilo nájsť rovnakú funkčnosť hľadania buniek na základe formátu písma. Preto budeme nútení použiť skript, ktorý nám všetky bunky s tučným písmom (boldom) rovno podfarbí.

Implementáciu skriptu uskutočníme za pomoci Google Apps Script.

function colorBoldCells() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getDataRange();
  const values = range.getValues();
  const fonts = range.getFontWeights();
  const bgColors = range.getBackgrounds();

  for (let i = 0; i < values.length; i++) {
    for (let j = 0; j < values[i].length; j++) {
      if (fonts[i][j] === 'bold') {
        bgColors[i][j] = '#ffbbbd'; // Light red
      } else {
        bgColors[i][j] = '#FFFFFF'; // White background for non-bold
      }
    }
  }

  range.setBackgrounds(bgColors);
}

Pre lepšiu ilustráciu si môžete skript vyskúšať priamo tu.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *