2014年2月27日木曜日

用紙の半分だけ使った文書をコピーしないで、2つ並べて印刷する場合、印刷範囲の指定で「同一ページをコンマ区切り」にした後、「割付印刷」を行う。

1. 用紙の半分だけ使った文書をコピーしないで、2つ並べて印刷したい

A4 サイズの用紙の半分だけを使い、文書 A を作成した。

実質的なサイズは A5 用紙を横向きにしたもの。このとき、同じ内容をページの下半分にも印刷したい。

SnapCrab_No-0809

ただし、1枚の A4 用紙で、上半分の文書 A を下半分にコピペしたくない。なぜなら、文書 A の内容を後で変更した場合、一箇所修正すれば済むようにしたいため。

A4 用紙に印刷した文書は、印刷した後、半分に切り離し A5 サイズにする。

 

2. 同一ページをコンマ区切りで印刷範囲の指定し、「割付印刷」を行う。

例えば、「スケジュール表(7日分) 横向き」は A4 サイズ横向きで作成した。この文書をダウンロードして、 LibreOffice で開く。

印刷するために、ダイアログの「範囲と部分」において、

1, 1

のように、印刷したいページをコンマ区切りで2回繰り返し入力する。

SnapCrab_No-0808

次に、プリンターのプロパティを開き、「ページ設定」で「割り付け」設定を行う。

SnapCrab_No-0804

これにより、印刷したA4 用紙を半分に切り離せば、A5 サイズの用紙を横書きにした文書と同等の印刷物が得られる。

また、元の文書に変更が必要になったら、変更箇所を一箇所に留めることができる。

 

3. まとめ

  1. 印刷したい用紙のサイズで文書を作成する。
  2. 印刷範囲を指定するダイアログの「ページ設定」において、同一ページをコンマ区切りで2回入力する。
  3. プリンタの設定で、割付印刷を行う。

LibreOffice で同一ページを割付印刷。切り取るときの枠線も表示する。用紙サイズを変更したい場合は、プリンタのプロパティで出力用紙を変更。」 につづく…

 

関連文書

2014年2月26日水曜日

1ページの文書を両面印刷するには、同一ページ番号をコンマ区切りで指定し、両面印刷を選択する

1. 同一ページ番号をコンマ区切りで指定する

1ページの文書を両面に印刷したい。

例えば、スケジュール表(7日分) を両面印刷する場合。この文書は1ページのみで構成される。

上記のファイルをダウンロードし、LibreOffice で開き、メニューのファイルから印刷を選択。

印刷ダイアログにおいて、「個別のページを設定するフィールド」に、

1, 1

のように、同一ページ番号をコンマ区切りで指定する。

SnapCrab_No-0803

同じ文書が複数枚必要な場合、部数を設定しておく。

 

2. プリンタのページ設定で「両面印刷」を選択

次に、プリンターの「プロパティ」より、プリンタの設定ダイアログの「ページ設定」で「両面印刷」を選ぶ。

SnapCrab_No-0806

2014年2月24日月曜日

Google スプレッドシートで SUM 関数の繰り返しを「行列の積」で置きかえる

1. SUM 関数の繰り返しを ARRAYFORMULA 関数で置きかえることはできるのか?

ARRAYFORMULA 関数は、単一のセルに値を返す(配列を返さない)「組込みの関数の繰り返し」を、配列を返す形に置きかえることできる。これまで ARRAYFORMUAL 関数の使い方をいくつか試した。

四則演算などの「演算子」、単一のセルに適用する「組み込み関数」、引数が複数ある少し複雑な VLOOKUP 関数に対して ARRAYFORMULA 関数を適用した。

次に、「引数に範囲を与える」組込み関数に対して、ARRAYFORMULA が使えるのか考えたい。

引数に範囲を与えることができる関数はいくつかある。例えば、SUM 関数は、範囲を与えると合計を返す。

=sum(A1:C10)

この関数を ARRAYFORMULA に渡すことはできるのだろうか?

 

2. ARRAYFORMUAL の使い方を復習

ARRAYFORMULA の使い方を簡単に復習しておく。

これまでの例では、ARRAYFORMULA 関数を適用する「関数の引数」が「単一のセル」を対象にしていた。このような関数の繰り返しを ARRAYFORMULA で置きかえるには「単一のセル」を「範囲」に変更すればよかった。

例えば、あるセルに

A1 * 2 

という式があり、下方向に式を繰り返しコピーしたとする。これを ARRAYFORMUAL で置きかえるには、

=ARRAYFORMULA(A:A * 2)

という書き方をした。元の計算は、A1 という単一のセルを対象にしている。ARRAYFORMUAL で置きかえるには、「単一のセル」ではなく、「範囲」を指定する。

組込み関数の場合も同じ。例えば、

POWER(A1, 2)

の式があり、下方向に繰り返しコピーされているものを、ARRAYFORMULA で置きかえるには、「単一のセル」を与えていた部分を「範囲」に変更した。

=ARRAYFORMULA(
	POWER(A:A, 2))

VLOOKUP 関数では、引数が多いのでやや複雑になった。

=vlookup(
	weekday(A2), 
	曜日,
	match("曜日名",曜日_属性, 0), 
	false)

第3引数のインデックスの配列を得るために工夫が必要。

=arrayformula(        
	vlookup(                
		weekday(
			offset(A2,0,0,rows(A:A)-1,1)),                 
		曜日,                
		match("曜日名",曜日_属性, 0)                 
			* sign(row(
				offset(A2,0,0,rows(A:A)-1,1))),                
		false))

まとめると、「計算の繰り返し」を ARRAYFORMUAL で置きかえるためには、元の式で「単一のセル」を対象にしていた部分を「範囲」に変更するということ。

 

3. SUM 関数の繰り返しを ARRAYFOMULA で置きかえることができなかった

SnapCrab_No-0793では、これまでと同じように、SUM 関数の繰り返しを ARRAYFORMUALA で置きかえることができるか試してみる。

例えば、A ~ C 列の各行に対して、SUM 関数を用いて D 列に合計を表示したいとする。

D1 セルには以下の式を入力し、下方向へコピーを繰り返す。

=sum(A1:C1)

この「計算の繰り返し」を ARRAYFORMULA で置き換えるために、次のように記述してみた。

=arrayformula(sum(A:C))

しかし、残念ながら、結果は 1 つのセルに全てのセルの合計が表示されただけだった。

 

4. ARRAYFOMULA で置きかえるのではなく「行列の積」で考える

`google spreadsheets - How can I use ARRAYFORMULA and SUM together to get a column with the sum of the proceeding rows - Web Applications Stack Exchange’ には、SUM 関数の繰り返しを「行列の積」として計算する方法が述べられている。

上例の場合、次のように書くことができる。

=mmult(A:C,
	transpose(
		arrayformula(
			column(A:C)^0)))

ただし、これは行列の積を用いた方法であり、これまでのように SUM 関数の繰り返しを ARRAYFORMULA で置き換えるパターンとは違う。そのため、範囲を引数として受け取る MAX, AVERAGE のような関数に対して、同じような方法で対処できない。

 

a. ARRAYFOMULA を用いて、要素が全て1 の「行ベクトル」を求める

上記で ARRAYFORMULA を適用している部分は、行列の積において、要素が全て 1 の「行ベクトル」を生成していることに相当する。

行列の積の計算については、以下のサイトを参考にすると良い。

式の内容について、関数を1つずつ確認しておく。

arrayformula(
	column(A:C)^0)))

最初に COLUMUN 関数。COLUMN - Drive Help によると、

COLUMN(セル参照)

指定したセルの列番号を返します(A は 1 となります)。

例えば、column 関数に範囲を与えると、

column(A:C))

結果は 1 とのみ表示される。配列が返されるわけではない。 column 関数に範囲を与え、配列を返して欲しい場合、arrayformula 関数を利用する。

=arrayformula(column(A:C))

これにより、対応する結果が表示される。

SnapCrab_No-0795

これは VLOOKUP 関数を ARRAYFORMULA 関数に渡したときの、第 3 引数と同様。ROW, COLUMN 関数に範囲を与え、配列で返してもらうには、ARRAYFORMULA 関数と組み合わせる。

0 乗しているのは、全ての値を 1 にするための工夫。

arrayformula(column(A:C)^0))

SnapCrab_No-0797

冪乗 – Wikipedia によると、

正負を伴う累乗では、整数 x に対して、指数が正の整数 n であれば xn となり、指数が 0 であれば 1 となり、指数が負の整数 −n であれば 1 / xn となる。

 

b. TRANSPOSE 関数で行ベクトルを列ベクトルに変換する

次に、行列の積を行うために、上記で生成した要素1の行ベクトルを列ベクトルに変換する。行と列の入れ替えを行う関数は TRANSPOSE 。

TRANSPOSE - Drive Help によると、

TRANSPOSE(配列または範囲)

配列またはセルの範囲の行と列を入れ替えます。

transpose(
		arrayformula(
			column(A:C)^0)))

これにより、すべての要素が1の列ベクトができる。

SnapCrab_No-0798

最後に行列の積を計算する関数を適用する。

 

c. 行列の積を求める

行列の積を求める関数は MMULT 。

MMULT - Drive Help によると、

MMULT(行列1, 行列2)

配列または範囲として指定した 2 つの行列の行列積を計算します。

 

d. SIGN 関数でも、全ての要素が 1 の配列を求めることができる

ところで、0 乗の計算を行なっている部分は、VLOOKUP 関数を ARRAYFORMULA に渡したときと目的は同じ。全ての要素を 1 にすること。よって、0 乗の代わりに、SIGN 関数を用いても良い。

=mmult(A:C,
	transpose(
		arrayformula(
			sign(column(A:C))))

 

5. SUM 関数の繰り返しを「カスタム関数」で置きかえる

SUM 関数の繰り返しを ARRAYFORMULA で置きかえるのを諦めた。カスタム関数で置き換えるには、以下の関数を定義する。

function sumAry(ary1, ary2, ary3){
  var i, result = [];
  for (i = 0; i < ary1.length; i++){
    result[i] = [Number(ary1[i]) + Number(ary2[i]) + Number(ary3[i])];
  }
  return result;
}

D1 セルには、次のように記入すれば良い。

=sumAry(A:A,B:B,C:C)

 

6. 数式のコピーを繰り返す場合と、行列の積で計算を行うときの比較

2013年12月以前の Google スプレッドシートを用いて、SUM 関数の繰り返しと、行列の積を用いた方法でどちらが多く計算できるか比較してみる。

コピーを繰り返す方法では、9,000 行まで数式数制限が表示されなかった。

SnapCrab_No-0799

行列の積を用いた方法では、12,000 行までエラーが表示されなかった。上記のカスタム関数を使った場合も同じくらい。

SnapCrab_No-0800

コピーを繰り返すよりも、行列の計算の方がより多く計算ができるようだ。

 

新しい Google スプレッドシートでは相当計算ができる

2013年12月以降の新しいGoogle スプレッドシートでは、コピーを繰り返した場合でも、200,000 行計算しても数式制限は表示されなかった。

SnapCrab_No-0802

2014年2月11日火曜日

AutoPager で「オンラインでルールを検索」しても見つからない場合、Include Expreimental Rules にチェックを付けて探す

1. AutoPager で特定サイトの定義を作成する

SnapCrab_No-0797ブラウザで「次のページを自動的に読み込ませる」ために、AutoPager を利用している。

 

直接定義をインポートする場合

SnapCrab_No-0798例えば、ZOZOTOWN の商品一覧ページではページを自動的に読み込んでくれない。そこで、AutoPager のサイトウィザードを利用して zozo.jp 用の定義を作成した。

<autopager>
<site><urlPattern>http://zozo.jp/*</urlPattern>
<guid>18758</guid>
<margin>8</margin>
<owner>j1m</owner>
<contentXPath>//ul[@id='searchResultList']</contentXPath>
<linkXPath>//a[(text()='次へ')]</linkXPath>
</site>
</autopager>

この定義を利用するには、Firefox の場合、

  1. 上記の内容をコピー。
  2. AutoPager のアイコンをクリック > インポート/エクスポート > 「クリップボードからインポート」を選択。

SnapCrab_No-0791

Google Chrome の場合、

  1. 上記の内容をコピー。
  2. AutoPager のアイコンをクリック >  Local Rules > インポート を選択。
  3. 表示されたダイアログにペーストする。

SnapCrab_No-0799

 

2. 定義を「公開」しても、検索結果に表示されない

作成した定義を公開するために、AutoPager の「設定の管理」より、「公開」ボタンを押した。

SnapCrab_No-0792-2

その後、公開した定義を確認するために、

を選択したが、公開したはずの定義が表示されなかった。

 

Include Experimental Rules にチェックを入れて検索

そこで、Include Experimental Rules にチェックを入れてから、再び Search ボタンを押した。その結果、公開した定義が表示された。

SnapCrab_No-0795

ちなみに、この画面から定義を有効にするには、上記画面の Enabled 列にチェックを入れるだけで済む。

公開した定義の Status を見ると、以下のように表示されていた。

Rule Approved false

このため、「オンラインのルールを検索」で表示されなかったようだ。オンラインのルールを検索するときは、Include Experimental Rules にチェックを付けて確認したほうが良さげ。

うーん、でもなんで承認されないのかな。。

 

3. ZOZOTOWN の定義について

ところで、ZOZOTOWN の商品一覧で AutoPager を有効にするためには、「次ページを読み込むリンク」「読み込んだ内容を挿入先」以外に、以下の2点を設定する必要があった。

SnapCrab_No-0792

SnapCrab_No-0796

これにより、Firefox では、「商品の種類、ショップ・ブランドページ、キーワード」で検索した結果を表示してくれるようになる。

しかし、Google Chrome では、「キーワード」検索した結果では、1ページ読み込んでくれるだけで、それ以降はダメだった。これもなぜかわからない。。(+_+)

2014年2月8日土曜日

シャープの携帯電話 docomo SH-03E で待受画面から消えない「メールのショートカット」を作成するには電話帳から行う

1. 待受画面から消えないメールのショートカットを作りたい

SnapCrab_No-0792[3] docomo SH-03E は、待受画面にショートカットを置ける。ショートカットを利用すると、頻繁に利用する機能に素早くアクセスできる。

「特定の人宛のメール」に対するショートカットを作成するために、以下の操作を行った。

  1. 新規メールを作成
  2. 宛先を入力する。
  3. 「サブメニュー」(MENUボタン)を選択。
  4. 「ショートカット」(カメラボタン)を選択。

これにより、待受画面に「作成途中のメール」に対するショートカットが作成された。ただし、このショートカットは、一度使用すると、待受画面から消えてしまう。繰り返し使うことができない。

 

2. 電話帳からショートカットを作成する

これに対して、待受画面に常に表示される「メールを作成する」ためのショートカットは、次の操作により作ることができる。

  1. 電話帳を開く(マルチガイドボタン、上方向を押す。)
  2. ショートカットを作成したい人の名前を選択し、決定ボタンを押す。
  3. ショートカットを作成したいメールアドレスを選択する。(左右ボタン)
  4. 「サブメニュー」(MENUボタン)を選択。
  5. 「ショートカット」(カメラボタン)を選択。

ポイントは、電話帳からメールアドレスを辿り、ショートカットを作成すること。

2014年2月6日木曜日

Google スプレッドシートで「数式の繰り返し」を ARRAYFORMULA で置きかえる (2) - VLOOKUP 関数の場合

1. 引数に「単一のセル」を与える組み込み関数の繰り返しを ARRAYFORMULA で置きかえる

値を 2 乗する POWER 関数の繰り返し

前回、演算子を利用した「数式の繰り返し」を ARRAYFORMULA で置き換えた。今回は「組み込み関数の繰り返し」を置きかえてみる。

SnapCrab_No-0784例えば、A 列に入力した値を B 列で 2 乗する計算について考える。

べき乗を計算する「組み込み関数」は、POWER

A1 セルの値を2乗するには、B1 セルに

=power(A1, 2)

と入力する。 A 列の値に対して、繰り返し計算を行うには、B1 セルの数式を下方向へコピーする。

 

ARRAYFORMULA で置きかえる

上記の「関数の繰り返し」と同じ結果になるように、ARRAYFORMULA を利用して数式を置きかえたい。

そのためには、B1 セルに次のように記述する。

=ARRAYFORMULA(
	POWER(A:A, 2))

演算子のときと同じように、POWER 関数を呼び出すときに与えた「」を「範囲」に置き換えた。それを ARRAYFORMULA に与えると、A 列にある各々の値に対して POWER 関数を適用したことになる。

 

2. VLOOKUP 関数の繰り返しを ARRAYFORMULA で置きかえる

VLOOKUP 関数の繰り返し

次に、データを参照するための関数 VLOOKUP の繰り返しを ARRAYFORMULA で置きかえる。

ここでは「日付から曜日を返す」例を用いる。書き方は以下を参照。

A 列に「日付」を入力すると、B 列に「曜日」が返る。1行目には「見出し」行がある。

SnapCrab_No-0774[2]

「日付」を入力した列の隣、B2 セルには以下のように入力する。

=vlookup(
	weekday(A2), 
	曜日,
	match("曜日名",曜日_属性, 0), 
	false)

繰り返し計算を行うには、B2 セルの数式を下方向へコピー。

 

ARRAYFORMULA で置きかえる

さて、「関数の繰り返し」と同じ結果になるように、 ARRAYFORMULA を利用して数式を置きかえたい。

数式の書き方は、以下を参考にした。

B2 セルに、次のように記述する。

=arrayformula(        
	vlookup(                
		weekday(
			offset(A2,0,0,rows(A:A)-1,1)),                 
		曜日,                
		match("曜日名",曜日_属性, 0)                 
			* sign(row(
				offset(A2,0,0,rows(A:A)-1,1))),                
		false))

 

VLOOKUP の第 1 引数

ARRAYFORMULA で置きかえた式は、直感的に分かりにくいので、1引数ずつ確認する。

最初に vlookup 関数の第1引数。元の呼び出しは、

weekday(A2),

ARRAYFORMULA に与えるには、「値」を「範囲」に変更する。

weekday(A:A),

ただし、今回の例では「見出し」行があるので、1行目を計算対象から除かなければならない。そのためには、範囲を返す OFFSET 関数を利用する。

よって、以下のように記述する。

weekday(offset(A2, 0, 0, rows(A:A) - 1, 1)),

offset 内の ROWS 関数は、指定された範囲の行数を返す。

rows(A:A) - 1

と書くことにより、「見出し」を除いた高さを求めることができる。

 

VLOOKUP の第 2 引数

第2引数の「曜日」は、VLOOKUP で値を探す範囲。

これは変わらないので、そのまま与える。

 

VLOOKUP の第 3 引数

第3引数の元の呼び出しは、範囲「曜日_属性」から “曜日名” のあるインデックスを得た。

match("曜日名", 曜日_属性, 0),

ここでは具体的に 2 が返ってくる。

やっかいなのはこの引数。 ARRAYFORMUAL に与えるには、以下のように複雑な式となる。

match("曜日名",曜日_属性, 0) * sign(row(offset(A2, 0, 0, rows(A:A) - 1, 1))),

  • offset 関数が返すのは、上記の weekday 関数に与えた式と同じく、日付が記入された列の「見出し」を除いた範囲。
  • ROW 関数は、セルの行番号を返す。

全体の意味が分かりづらいので、 順を追って計算を確認する。

まず、ROW 関数を ARRAYFORMULA に与えたときの結果を表示してみる。

=arrayformula(row(A:A))

SnapCrab_No-0786

行番号に対応した値が表示された。

次に、SIGN 関数を計算に含める。

=arrayformula(sign(row(A:A)))

この関数は、「正の数なら 1 , 負の数なら –1 , 0 なら 0 」を返す。よって、行番号を与えると、行番号は正の数なので、全て 1 が返り、全体では 1 の配列が得られる。

SnapCrab_No-0788

ここで、ARRAYFORMULA の中で「任意の値を掛ける」計算を含めてみる。例えば、2 を掛ける計算を含めると、2 の配列が返される。

=arrayformula(2 * sign(row(A:A)))

SnapCrab_No-0790

つまり、第 3 引数に与えた計算は、match 関数で得られる値の配列を求めたことになる。

match("曜日名",曜日_属性, 0) * sign(row(offset(A2, 0, 0, rows(A:A) - 1, 1))),

繰り返すが、このように配列が必要なのは、ARRAYFORMULA 関数に与える関数の引数は、「値」ではなく「範囲」であるため。

 

VLOOKUP の第 4 引数

上記の第3引数で行なった計算を考えると、第4引数も同じような計算が必要に思えてくる。

しかし、この引数は元のままで変更する必要はない。なぜだろう?

 

3.  「新しい Google スプレッドシート」(2013/12 以降)

ところで、上記の「日付から曜日を返す」例を、「新しい Google スプレッドシート」(2013/12 以降)で試したところ、第3引数で必要だった

* sign(row(offset(A2, 0, 0, rows(A:A) - 1, 1))),

を付けなくても同じ結果が得られた。

=arrayformula(        
        vlookup(                
                weekday(
                        offset(A2,0,0,rows(A:A)-1,1)),                 
                曜日,                
                match("曜日名",曜日_属性, 0),                
                false))

うーん、なんでだろう。。(+_+)

Google スプレッドシートで SUM 関数の繰り返しを「行列の積」で置きかえる」につづく…

2014年2月4日火曜日

Google スプレッドシートで「数式の繰り返し」を ARRAYFORMULA で置きかえる (1)

1. たくさんのセルで数式を呼び出すと、数式数制限が表示される

Google スプレッドシートで、カスタム関数を多くのセルで呼び出すとエラーが表示される。

これは Google スプレッドシートに制限が設けられているため。できるだけ回避するには、カスタム関数を「配列数式」に変更する必要がある。ただし、新しい Google スプレッドシートでは、この制約が緩和されている。

同じように、演算子・組み込み関数をたくさんのセルで呼び出すと、「数式数制限」の通知がされる。

このスプレッドシートは数式制限に達しました。

SnapCrab_No-0777

Google スプレッドシートのサイズと複雑さの制限 - ドライブ ヘルプ によると、

Google スプレッドシートには複雑さの制限もあります。セルが更新されるたびに、それを参照するセルも再計算されます。数式が複雑になりすぎたり、計算に時間がかかりすぎたりすると、計算中にタイムアウトになります。

スプレッドシートを複雑にする数式には次のものがあります。

  • VLOOKUP、QUERY、SUMIF、入力範囲セルが広範なその他の同様の数式。
  • NOW、RAND、OFFSET、INDIRECT など、スプレッドシートが変更されるたびに再計算される揮発性関数。揮発性関数を含むセルに依存する数式が多いと、編集するたびに再計算されるため、スプレッドシートの表示速度が低下することがあります。
  • IMPORTRANGE などのインポートを使った数式。定期的に計算されるので複雑さが増します。

 

2. 「数式の繰り返し」を「配列数式」に変更する

* 乗算を繰り返したときの限界

例えば、A 列に入力した値を B 列で 2 倍する計算について考える。

SnapCrab_No-0769

A1 のセルの値を 2 倍するには、B1 セルに

=A1 * 2

と入力する。A2 以降、繰り返し計算を行うには、「下方向へと式をコピー」する。

この場合、19,000 行までは、数式制限の通知はされなかった。

SnapCrab_No-0770

20,000 行では数式制限が通知された。

 

ARRAYFORMULA で「数式の繰り返し」を「配列数式」へ

上記のような、演算子や組込みの関数を用いた「数式の繰り返し」を、一つのセルに入力しただけで済ませるには、組み込み関数である

  • ARRAYFORMULA

を利用する。これにより、「値を返す演算子や組み込み関数」を「配列数式」の形にできる。

ARRAYFORMULA - Drive Help によると、

Enables the display of values returned from an array formula into multiple rows and/or columns and the use of non-array functions with arrays.

上例の「数式の繰り返し」と同じ結果を得るには、B1 セルに、以下のように入力する。

=ARRAYFORMULA(A:A * 2)

SnapCrab_No-0771

一見、ARRAYFORMULA の引数が分かりにくい。 (@_@;

A:A * 2

元の式は、以下の通り。

=A1 * 2

数式の繰り返しを ARRAYFORMULA で記述するには、

[セル] 演算子 値

という形を

[範囲] 演算子 値

にする。つまり、計算対象である単一のセルを「範囲」に変更する。

この式により、「A 列の各値に対して、2 倍する」計算が行われる。

「配列数式」を用いる場合、37,000 行まで、数式制限は表示されなかった。

SnapCrab_No-0778

38,000 行では数式制限が通知された。演算子を繰り返したときと比較すると、約 2 倍の数を計算できた。

カスタム関数を用いたときと同じように、「配列数式」で表現した方が計算の負担が少ないようだ。

 

3. 「新しい Google スプレッドシート」(2013/12 以降)では「数式の繰り返し」と「配列数式」が計算できる数に差がなさそう?

ただし、カスタム関数のときと同様に、2013/12 以降の「新しい Google スプレッドシート」では、この制約が緩和されている。

数式を繰り返しコピーしても、上記よりはるかにたくさんの計算を行うことができる。また、数式のコピーと ARRAYFORMULA を比較すると、計算できる量に違いがないように見える。

Google スプレッドシートのサイズと複雑さの制限 - ドライブ ヘルプ によると、

新バージョンでは、データが含まれているセルが 2 百万個までサポートされますが、サイズが非常に大きい、または複雑なスプレッドシートは動作が遅くなる可能性があります。

どちらの方法でも 1,000,000 セルまで計算できた。ただし、それ以上は動作が遅くなり、どこまで計算できるのか確認できなかった。

2014年2月2日日曜日

コミュファ光でルータの無線 LAN 機能が頻繁に落ちるため、本体を交換してもらった

1. ルータの無線 LAN 機能が落ちる

SnapCrab_No-0768プロバイダをケーブルテレビからコミュファ光に変更してから、無線の調子が悪くなった。

平均して1日1回は無線が途切れ、ルータ本体の電源を抜き差し、再起動をしなければならない。(+_+)

 

ルータの AIR ランプが赤く点灯

SnapCrab_No-0767ルータは Aterm WH822N(CT) コミュファ専用

無線が切れるとき、ルータ本体の AIR ランプが赤く点灯する。

この表示は、電波が干渉していることを示す。

Aterm Support Information | WH822N | 各部名称 によると、

無線LANと干渉する電波を検出しています。※2

 

チャンネルを変更して様子を見た

一時期、Aterm の「デュアルチャンネル機能」を無効にしたら、安定していたが、最近はこの設定でもダメ。

サポートに連絡すると、無線のチャンネルを変更して様子を見るようにと言われた。

Aterm WH822N は無線 LAN の規格として 2.4 GHz 帯しか使えない。 5 GHz 帯を利用できるものに交換できないか尋ねたら、できないとのこと。今のところ、5 GHz 帯 を利用できる機器のレンタルは予定もされてないらしい。

 

2. 本体に問題があった

無線の混雑状況を確認し、空いてるチャンネルを何度も変え、一ヶ月ほど試してみたが、どうしても無線 LAN が安定しない。

再びサポートに連絡し、機器の調査に来てもらった。

修理業者に症状を伝えたら、

混線により接続が不安定になることはあっても、無線機能が落ちるのはおかしい。9 割がた、本体を取り替えれば直る。

と言われた。

新しい機器に取り替えてもらった結果、周りに沢山の無線ネットワークがあっても、Aterm WH822N の無線機能が落ちることはなくなった。

SnapCrab_No-0766

たまたまハズレくじを引いてしまっていたようだ。はじめから、機器の調査をお願いすればよかった。。 (+_+)

 

関連記事