問題は、Googleドキュメントのスプレッドシートに=round(x+y)
などの多くの式を入力したことです。 MS Excelにエクスポートする必要があり、後者は有効な形式として=round(x+y,0)
のみを受け入れます。ドキュメントにはこの形式の数十が保持されているため、これらの変換方法に関する提案は非常に高く評価されます(MS Excelでも実行できる場合など)。
私が考えていたのはawkスクリプトのようなものでした:すべてのround(*)
をround(*、0)に置き換えます...もちろん、これは私が持っているすべてのround(*,2)
を無視する必要があります。
[検索と置換]メニューを使用しようとしましたが、round
がまったく見つかりません(それが存在すると信じています)。
表示->すべての数式(ctrl + ')に移動し、「round()」すると、find and replaceを使用してそれらを見つけることができます。これにより、少なくともすべての手作業が削減されます。
私は方法を見つけることができませんでした(ただし、検索と置換を使用してワイルドカード値を検索します
編集:
以下のスクリプトを試してくださいREF: http://www.google.com/support/forum/p/Google%20Docs/thread?tid=288d77c8c9ad7696&hl=en
function SearchReplaceInFormula() {
var pattern = Browser.inputBox("Enter the search string:");
var replacement = Browser.inputBox("Enter the replacement string:");
if (pattern == "" && replacement == "")
{
Browser.msgBox("Nothing to search and or replace");
return;
}
var formula = SpreadsheetApp.getActiveRange().getFormulaR1C1();
var range = SpreadsheetApp.getActiveRange();
var crows = range.getNumRows();
var ccols = range.getNumColumns();
var row = 0;
for (row = 1; row <= crows; row++)
{
for (col=1; col <= ccols; col++)
{
var cell = range.getCell(row, col);
var formula = cell.getFormula();
var updated = formula;
while(-1 != updated.indexOf(pattern))
{
updated = updated.replace(pattern, replacement);
}
if (formula != updated)
{
cell.setFormula(updated)
}
}
}
Browser.msgBox("Done replacing " + pattern + " with " + replacement);
}
してみてください:
検索:(.+)\)
置換:$1,0)
検索:このシート(または合わせて)
正規表現を使用した検索
数式内も検索
すべてを置き換えます。