Excel

2019年10月12日 (土)

最近よくあること

職場のPCはWindows 10 Professional 1809なのだが、自分のものも含めて何台かのPCで次のような症状に遭遇することがたまにある。いずれもWindows Updateなど負荷の高いものが動いているという状況ではない。

  • PC立ちあげ後、サインイン後に表示が黒地にマウスポインタだけの表示。ポインタの操作はできる。→Ctrl+Alt+Delからサインアウトし、もう一度サインインしても同様。→Ctrl+Alt+Delからサインアウトし、再起動したら正常にサインインできた
  • サインアウトに数分間(5分以上)かかる。サインアウトを妨げているアプリケーションがあるという表示は出ない。これはPC立ち上げ後にサインインして、ネットワークをちゃんと認識していないのでサインイン後にあまり間を置かずにサインアウトしたためかもしれないが、別のPCでは同じような時間間隔でサインアウトしても問題ないので、そのPCの問題か、たまたまだったのか。
  • Office 365のバージョンが1902から1908に更新後、Excelでセル内の文字の削除に異常に時間がかかる。そのままExcelが落ちることもある。

どれも問題の原因を突き止められない。

| | コメント (0)

2019年10月 5日 (土)

Excel起動時の「現在このブックは他のブックから参照されているため、閉じることはできません」

Excelの起動時に「現在このブックは他のブックから参照されているため、閉じることはできません」というメッセージが出るようになった。先日Office 365のバージョンが1902から1908に上がったのだが、そのタイミングに一致しているような気がする。

よくある対策である
C:¥Users¥自分のアカウント¥AppData¥Roaming¥Microsoft¥Excel¥Excel15.xlb
を削除したが、状況は変わらず。

Excelには自作VBAマクロをアドインとして登録してあり、あるアドインが別のアドイン内の関数を使うために参照設定で呼び出すようになっている。今までも、アドインマネージャーへの登録順によってはこのようなメッセージは出ていたので、アドインを疑うことにした。

アドインを登録解除して登録し直したり、アドインファイルをオリジナルと入れ替えてもやはり状況は変わらず。

今までは参照されるアドインもアドインマネージャーでチェックを入れて登録してあったのだが、今回は参照先アドインをアドインマネージャーで登録しないで起動してみた。するとメッセージは出なくなり、アドインメニューには登録していない参照先のアドインのメニューも表示されて使える状況になっていた。別のPCのOffice 365 1902のExcelでも参照先アドインをマネージャーでチェックを入れなくても使えるのを確認した。ひょっとして、最初からこういう仕様だったのだろうか?

| | コメント (0)

2019年3月 2日 (土)

Office 365のExcel書類のアイコンが白紙に

Office 365のExcel書類のアイコンが白紙になっていた。白紙アイコンをダブルクリックしても開くソフトの選択パネルが出るだけ。普段自分が使っているPCではないので、原因や経緯は不明。
Officeのインストールフォルダを見ると、Excel.exeはちゃんとある。このExcel.exeをダブルクリックすると、Excelのスプラッシュスクリーンは表示されるが、表示されたまま起動してこない。
一旦Windowsからサインアウトし、数時間後にサインインすると、ExcelとPowerPointは起動するようになっていた。Wordはスプラッシュスクリーンが表示された後に黙って落ちてしまう。
コントロールパネルのプログラムと機能からOffice 365の変更→修復を実行。修復後はWordも開けるようになった。

| | コメント (0) | トラックバック (0)

2019年1月19日 (土)

表計算ソフトの負号の優先順位

かなり昔に、表計算ソフトの負号と冪乗の優先順位を調べたことがある。最近macOS用のNumbersを使い始めたので、これに、ちょっとだけ追加(頭に・がついたものが新規追加)。

負号よりもべき乗の方が優先順位が高いもの:-2^2=-(2^2), exp(-x^2)=exp(-(x^2)) と解釈
・Grapher/macOS、グラフ作成ソフト
・SpeedCrunch/macOS, Windows、数式電卓
・Maxima/macOS, Linux, Windows、数式処理ソフト
NumberCrunch/MacOS 7〜9、数式電卓
クラリスワークス 4.0 for Mac/Mac OS 7〜9, for Win/Win 95〜10、表計算書類
AppleWorks 5/Mac OS 9、表計算書類
AppleWorks 6/Mac OS 9, X、表計算書類
グラフ計算機/Mac OS 9、数式電卓
VisualBasic for Applications(VBA)/Mac OS 7〜9, Windows 3.1〜10のExcel 5〜365で確認
Google、Googleの電卓機能
Mariner 4.0〜5.5.1/Mac OS 7〜9, X、表計算ソフト、=-A1^2 や =exp(-A1^2)の様にセル参照の前に置かれた負号の場合
FX-890P BASIC/CASIOのポケットコンピュータ

負号の方がべき乗よりも優先順位が高いもの:-2^2=(-2)^2, exp(-x^2)=exp((-x)^2) と解釈
・Numbers/macOS、表計算ソフト
Microsoft Excel 5.0〜365/Mac OS 7〜9, X, Win 3.1〜XP
OpenOffice.org Calc, LibreOffice Calc/Mac OS X, Win XP
NeoOffice Calc/Mac OS X
OpenOffice.org BASIC/Mac OS X, Win XPのCalcで確認
Gnumeric/Linux, macOS, Win XP、表計算ソフト
HyperTalk/漢字Talk 7.5.5、MacのHyperCardのスクリプト言語
Mariner 4.0〜5.5.1/Mac OS 7〜9, X、表計算ソフト、=-2^2 や =exp(-2^2)の様に数字の前に置かれた負号の場合

表計算ソフト系は、Excelが標準になってしまっているためか、ほぼExcelと同様の解釈。

もう手元のマシンでは動かないけど、昔使っていたTurbo PascalやTurbo Cなんかも冪乗のほうが優先順位は高かったはず。

| | コメント (0) | トラックバック (0)

2019年1月12日 (土)

Numbersの日付・時刻の値

表計算ソフトで日付・時刻の値は、1900年または1904年を起点とし、1日を1として扱う実数値として扱われているものがほとんどだと思う。Microsoft Excelでは、これを日付シリアル値というが、例えばこんなこともできる。
A1セル:2019/1/1
B1セル:=A1+1
とすると、B1セルには2019/1/2と表示される。
macOSの表計算ソフトNumbersでも内部的には同じ処理なんだろうけど、ユーザーに対してはExcelのようなずぼらは許してくれなくて、日付・時刻とシリアル値の変換関数を使うことを強いられる。ちょっと面倒 (^^;)

| | コメント (0) | トラックバック (0)

2018年12月22日 (土)

Office 365のExcelでブックの共有

Office 365はOneDriveを使ったドキュメントの共有が前提。諸事情でOneDriveを使えないので、従来の共有フォルダにおいたファイルの共有を行いたい。
ネットを検索するといくつも記事は見つかるが、Excel自体に従来の共有機能は残っていて、リボンに追加すれば使える。
リボンに追加するのも少し手間だけど、ブックに共有設定をするたびに「本当にこの機能使うの?」とう確認が2回も出るのうざったい。

| | コメント (0) | トラックバック (0)

2018年11月10日 (土)

NumbersとExcelとLibreOffice Calcでの他のシートへの参照

普段使っているCore2DuoのMacBook ProではExcelやLibreOffice Calcがかなり遅いので、今更だがNumbersを使い始めた。Numbersは動作も軽くて、少し癖はあるけど案外使える。
NumbersはLibreOfficeのファイルを直接開けないので、一旦Excel形式で保存して読み込んだ。
どのソフトも複数シートを持てて、他のシートのセルへの参照ができる。が、書式が微妙に異なる。
例えば、「データ」という名前のシートのA1セルへの参照は、それぞれ次のとおりになる。
Excel =データ!A1
LibreOffice Calc =データ.A1
Numbers =データ::表1::A1
NumbersはかつてのAppleWorksやクラリスワークスのように、シート中に複数の表を配置できるので、参照する表を指定する必要がある。
単純な他のシートへの参照ならNumbersも自動で変換してくれるが、参照文字列をユーザーが自分で作ってINDIRECT関数を使うような場合は当然のことながら形式を直してくれないので、参照がエラーとなって式の代わりに値が代入されてしまう。後から正しい形式の四季を書き直せばいいのだけど、ちょっと面倒。

| | コメント (0) | トラックバック (0)

2018年8月18日 (土)

Excel/VBAの自作関数でエラー

ExcelのVBAで作った自作の関数でVALUE!エラーが出たので同じ過ちを繰り返さないためにメモ (^^;)

状況は以下のような感じ。
関数bの戻り値を使って関数aの計算をしようとした。関数はどちらもPublicで宣言してあり、ワークシート上からの使用。
例えば、セルに次のように入力したとする。ここで、関数bの引数は1。
=a(b(1))

関数a, bは次のように定義されているとする。

Public Function a(x as Double) as Double
    a = x * 2#
End Function

Public Function b(x as Double) as Double()
    dim Ans(1) as Double
    Ans(0) = x - 1#
    Ans(1) = x + 1#
    b = Ans
End Function

エラーの原因は、配列を返す関数bの戻り値を、一つの倍精度変数を受け取るようになっている関数aにそのまま与えたこと。

セルの入力を次のようにすることでエラーが出なくなる。
=a(INDEX(b(1),1))
INDEX関数は配列として与えられた引数から指定された項目を取り出す関数。

ひょっとしたら、関数の引数や戻り値をDoubleなどとしないで、Variant型にしておけばエラーにならずに動くんじゃないかな。確かめていないけど。

| | コメント (0) | トラックバック (0)

2017年8月19日 (土)

Office 2013の起動時に固まることがある

Office 2013のExcel, Word, PowerPointの各々を起動するときに、最初のスプラッシュ画面で止まってしまうことが最近頻発する。

止まってしまったソフトを終了し、すぐにもう一度開くと普通に立ち上がる(前回起動に失敗したのでセーフモードで立ちあげるかとは聞かれるが)。

とりあえず、%WINDIR%PREFETCHにあるExcel.exeなどのプリフェッチデータを捨てたが安定しない。

ネットを検索したら、Microsoft IMEの辞書を修復すると良いと書かれていたので、MSIME 2010の辞書の修復を行ったらその後安定している。

| | コメント (0) | トラックバック (0)

2017年8月12日 (土)

MacTypeのFontLoader設定

%タイトル%はFontLoader=0にしておくのが速度の点で良さそう。

Excel 2013の表示が激遅になったのはFontLoader=1にしたせいだった。Explorerの詳細表示でも表示がもたつくのもこいつだった…。ひょっとしたらNoto Sans CJK JPの表示が遅いのもこいつのせいだったのかも?と思ったが、こちらは違った。

元々FontLoader=0で使っていたのだが、FontLoader=1にしたのは、Fira Codeフォントと日本語フォントをリンクさせようとしたときに、こちらの方が字の太さのバランスがとれるフォントがあったため。ま、Fira CodeフォントをWindowsで使うのはあきらめよう。

Excel 2013もMacTypeが効いてきれいな字で快適に使えるようになった。

| | コメント (0) | トラックバック (0)

より以前の記事一覧