est-il possible dans Google Feuilles d'exécuter une formule pour déterminer si le texte d'une cellule est italique em>? p>
quelque chose comme isitalic (A1) code> qui retournerait true code> / false code>, de sorte que la colonne puisse être filtrée sur? P>
3 Réponses :
= CheckStyle (A1, "Italique") CODE> function CHECKSTYLE(range, styleElement) {
var arr = [],
ret;
var styleEl = ["line-through", "underline", "italic", "bold"]
var range = SpreadsheetApp.getActiveSheet()
.getRange(range);
var styles;
if (styleEl.indexOf(styleElement) == 2) {
styles = range.getFontStyles()
} else if (styleEl.indexOf(styleElement) == 3) {
styles = range.getFontWeights()
} else if (styleEl.indexOf(styleElement) != -1) {
styles = range.getFontLines();
} else {
throw "the 2nd parameter can only be " + styleEl.toString()
.replace(",", ", ")
}
styles.reduce(function (a, b) {
return a.concat(b);
})
.forEach(function (el) {
el === styleElement ? arr.push(["TRUE"]) : arr.push(["FALSE"])
});
range.getNumRows() == 1 ? ret = transpose(arr) : ret = arr;
return ret;
}
Vous pouvez également faire quelque chose comme ce qui suit dans Google Feuilles.
La méthode .getfontStyle () peut être ce que vous recherchez. p>
p>
var ID = 'yourDocumentID';
var name = 'nameOfYourSheet';
function myFunction() {
var sourceSheet = SpreadsheetApp.openById(ID); // Selects your Source Spreadsheet by its ID
var ssheet = sourceSheet.getSheetByName(name); // Selects your Source Sheet by its Name
var range = ssheet.getRange(6, 10) // Selects J6 (just as an example)
var fontStyle = range.getFontStyle(); // Tells you the font style
ssheet.getRange(1,1).setValue(fontStyle); // writes the font style into A1
var returnBoolean = range.getFontStyle() === 'italic' ? true : false; // checks if getFontStyle is true or false
ssheet.getRange(2,1).setValue(returnBoolean); // writes the boolean into A2
} // dans la place de la cellule = iSstyle ((cellule ("adresse", d4) et ":" & cellule ("adresse", d4)), "italique")
webapps.stackexchange.com/help/someone-answers b>