AとBの2つの列を持つGoogleドキュメントスプレッドシートがあります。Bの値は異なる形式のAからの値であり、変換を行う式がB列にあります。 A形式の値がない場合もありますが、B形式の値があります。 A列に逆変換を行う式を追加して、A列にA形式の値を自動的に取得したいと思います。もちろん、これにより循環参照が生成されます。それを回避する方法はありますか?
今週から、Googleスプレッドシートはまさにこの機能のサポートを発表しました。スプレッドシートの設定で循環参照の反復回数を制限できるようになりました:-)
Excelでは、循環依存を許可し、実行する反復回数を制限するように設定できます(通常は1が望ましい結果です)。
私は見ましたが、そのようなものはシートに存在しません。
この投稿はかなり古いことは知っていますが、物事の応用を見ながら見ました。
シートでは、importrange
を使用して同じシートを参照し、目的の範囲を呼び出すことができます。たとえば、_B1
_に数式を入力して_=A1+1
_にし、_A1
_に数式=importrange(<THIS SHEET ID>,"B1")+1
を使用できます。
最初に数式を_A2
_に配置してから、_A1
_に移動する必要がある場合がありますが、機能するはずです。
このようなことをすると、基本的に2番目のカウンターが作成されます。
次のアルゴリズムを実装するスクリプトで解決
for each row{
if (A != "" && B == "")
B = conversionFromA(A);
if (A == "" && B != "")
A = conversionFrom(B);}
もちろん、欠点もあります(新しいデータを入力するたびにスクリプトを呼び出す必要があります)が、私が見つけた最善の解決策です。
データソースとデータ形式の2つの列を追加します。次に、列Aの数式は、データソースから値をそのまま(形式が一致する場合)または変換して(形式が一致しない場合)取得します。列Bについても同じです。