7

range として定義された Libreoffice.org Calc (おそらくこれは MS Excel にも当てはまる) オブジェクトがあるとします$Sheet1.$A$1:$A$4

値 1 の定数も宣言しました。このモックアップの目的のために、それを と呼びましょうstartingLine

どちらのオブジェクトも、[名前の定義] ダイアログ (ショートカット: Ctrl+F3) で適切に定義されています。

私がやりたいことは、定義された範囲の行を変数に変えることです。私の考えでは、次のように定義するだけで済みます:$Sheet1.$A$startingLine:$A$4が、これは機能しません。:-/

シンプルなスプレッドシート ソリューションを探していますが、残念ながら今回はマクロでは解決できません。ただし、R1C1 リファレンスを使用したソリューションで十分です。:)

どんな助けでも歓迎です!

4

2 に答える 2

12

この式 (Excel) のバージョンを使用する必要があり =CELL("contents",INDIRECT(CONCATENATE("A",startingLine)))
ます。これにより、セル A1 の内容が得られます。ここstartingLineで、 は定数 1 です。さらに、A として定義するendingLineと、式の A を置き換えることができます。
=CELL("contents",INDIRECT(CONCATENATE(endingLine,startingLine)))

範囲を定義するには=INDIRECT(CONCATENATE("$sheet1.$A$",startingLine,":$A$4"))
、たとえば(Excelで)合計することかもしれませんが=SUM((INDIRECT(CONCATENATE("$A$",startingLine,":$A$4"))))、libreofficeで範囲を定義することに慣れていません

于 2012-02-07T16:58:36.870 に答える
1

LibreOffice calc でリストの結果をセカンダリ リストの定義として利用するには、次のようにします。

最初のリストは、DATA>DEFINE RANGEたとえば「Breakfast」、「Dinner」で定義されます。各項目は、多数の行を含むリストであり、まとめて「Breakfast」または「Dinner」のいずれかの名前が付けられます。
詳細なメニュー選択

「朝食」という名前のリストの定義には、ベーコン、豆、卵、ハッシュブラウン、マッシュルームなどを含めることができます。このリストは、別のシートで定義するのが最適です。

"Breakfast" または "Dinner" の選択に基づいて各リストからメニューの選択肢を選択する場合は、data>validity でこれら 2 つのオプションを定義したリストが必要です。これが cell で定義されているとしA2ます。
トップレベルの選択肢

「Breakfast」または「Dinner」という名前の 2 つの詳細メニューの選択肢を、いずれかの選択肢と結び付けるには、次の式を使用します。

=indirect(A2)

たとえば、セルC2で。

A2 で定義したリストから選択肢を選択すると、スプレッドシートはセル A2 のエントリを使用して、セル C2 に正しい選択肢のリストを提供します。

それが理にかなっていることを願っています - そして思い出させてくれたWaldir Leoncioに大いに感謝します!

于 2016-09-21T00:24:54.717 に答える