web-dev-qa-db-ja.com

Googleスプレッドシートで循環参照を回避する

AとBの2つの列を持つGoogleドキュメントスプレッドシートがあります。Bの値は異なる形式のAからの値であり、変換を行う式がB列にあります。 A形式の値がない場合もありますが、B形式の値があります。 A列に逆変換を行う式を追加して、A列にA形式の値を自動的に取得したいと思います。もちろん、これにより循環参照が生成されます。それを回避する方法はありますか?

9

今週から、Googleスプレッドシートはまさにこの機能のサポートを発表しました。スプレッドシートの設定で循環参照の反復回数を制限できるようになりました:-)

7

Googleスプレッドシートのトップメニューで、次の手順を実行します。

ファイル>スプレッドシートの設定

「計算」タブを選択し、「反復計算」をオンに変更します。

お楽しみください:D。

PD:この投稿が古すぎることは知っていますが、ほんの数日前にこれに対する解決策が必要でしたが、何も見つかりませんでした。

enter image description here

13
PabloLM

Excelでは、循環依存を許可し、実行する反復回数を制限するように設定できます(通常は1が望ましい結果です)。

私は見ましたが、そのようなものはシートに存在しません。

3
Tinlar

この投稿はかなり古いことは知っていますが、物事の応用を見ながら見ました。

シートでは、importrangeを使用して同じシートを参照し、目的の範囲を呼び出すことができます。たとえば、_B1_に数式を入力して_=A1+1_にし、_A1_に数式=importrange(<THIS SHEET ID>,"B1")+1を使用できます。

最初に数式を_A2_に配置してから、_A1_に移動する必要がある場合がありますが、機能するはずです。

このようなことをすると、基本的に2番目のカウンターが作成されます。

1
user6697023

次のアルゴリズムを実装するスクリプトで解決

for each row{
   if (A != "" && B == "")
    B = conversionFromA(A);
   if (A == "" && B != "")
    A = conversionFrom(B);}

もちろん、欠点もあります(新しいデータを入力するたびにスクリプトを呼び出す必要があります)が、私が見つけた最善の解決策です。

0

データソースとデータ形式の2つの列を追加します。次に、列Aの数式は、データソースから値をそのまま(形式が一致する場合)または変換して(形式が一致しない場合)取得します。列Bについても同じです。

0
podlec