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>