なぜEXCELは嫌われるの?
レス数が1000を超えています。これ以上書き込みはできません。
仕様書とかEXCELだと糞とか言うじゃん
でもEXCELすごく使いやすくね? >>899
癖が分かるまで失敗を繰り返すのイヤだ! ExcelProがあったら買うぞ
ユーザー向けのいらんアシスト機能を省いてくれるだけでも助かる 日本のキーボードだと=や'を入力するのにShiftキーを要する
日本だとExcelもよく使うのに理不尽
しかし、@や:はShift不要
一方、海外では=や'にShiftキーを要さないキーボード配列もある
しかし、@や:はShift必要だったりする MODE.MULTはスピルがない時代は不便だった
最頻値の個数によって#N/Aが出るし、IFERRORでも対処できず
たまたま最頻値が1つしかない場合はその数字が連続して現れる仕様だった
LET関数とADDRESS関数の組み合わせって便利? Excelの誤訳と思われるネタ?
edge (端) → 行列全体のスピルエラーで、ワークシートの境界 (edge) を越えてスピルすることはできません
duplicate (複製) → 条件付き書式で、重複 (duplicate) ルール
evaluate (値を求める) → 数式の検証で、数式の各部分を個別に評価 (evaluate) 「空白セルを参照する数式」をエラー判定するオプションって
ISBLANKの値がTRUEの時に必ずエラーマークが付いてしまうね Googleスプレッドシートでは結合セルに配列数式を入力できる。
しかし、結合セルの左上の値しか表示されない。
これをExcelで開くと、できないはずの配列数式の結合ができている。
それでも、左上の値しか表示されない。
>>896のような、配列数式のようで紛らわしい式を手入力かマクロのFormula2で入力して、97-2003形式で保存すると、同じ理由で見た目は配列数式に見えないはずが、互換性チェックに引っかかり、「こぼれたか、または今後スピルされる数式」と扱われる。
A1にINDIRECT("R[-1],0",FALSE)を1行目のどこかに入力して、A65536に1を入力して、97-2003形式で保存した後、そのファイルを開くと、もともとA1048576であった最後の行の参照セルが変わって0だったのが1になっている。
この場合、なんと互換性のチェックに引っかからない。
=error() と入力すると「その関数は正しくありません」と表示される。
errorは特別な関数だったんだろうか?
=errorとして、カッコを付けない場合は名前として使用できる。
エクスプローラーで新規作成→Microsoft Excelとすると、本来Excelを起動した時のテーマの濃い青と淡い青の色が逆になっている。 LET関数ではR,C,RCなどを指定できないはずが、できる。
A1形式かR1C1形式を切り替えることもできる。
しかし、その数式を編集しようとするとR,C,RCは名前にならず、R1C1形式でいう自身の行や列として認識されてしまう。 カレンダーのテンプレートで、スピルでない静的配列数式が未だに使われてる B1:C1の範囲に
レガシ配列数式の{=A1:B1+1}は問題ないようだが
スピルの=A1:B1+1だと循環参照になり、しかも「循環参照は表示されません」となってしまう。
単一セル参照=@A1:B1+1では、B1が循環参照、C1は列Aでも列Bでもなく、共通範囲の参照ができないため#VALUE!エラーとなる =ISBLANK(0)+1
=ISBLANK(空白のセルの番地)+1
数式の検証を行うと(0)になるはずがTRUEかFALSEが異なる
=ERROR.TYPE(#VALUE!)+1
=ERROR.TYPE(SEQUENCE(0))+1
数式の検証を行うと、SEQUENCE(0)は本来は#CALC!エラーになるはずが#VALUE!になる。
しかし、エラー番号は正しく、9+1となる。
#SPILL! #CALC! #FIELD! #CONNECT! #BLOCKED! #UNKNOWN! は
もしかして内部的には#VALUE!として処理されている?
=INDEX(($A$1:$A$3,$C$1:$C$3),1,1,1)
と複数の領域を使った式は、数式の検証を行うと、本来意味が全く異なるはずの、カッコが取れた式になるが、正常に計算される。
=INDEX($A$1:$A$3,$C$1:$C$3,1,1,1) IF関数は[真の場合]にもカッコが付いているから省略できると思いきや、この数式には問題があります。
+1:1
この数式には問題があります。
R1C1形式にして
+Rにすると
数式は機能するがもちろん循環参照となる。 実は番地を返す関数と、値を返す関数がある
結果が値となっても :でつなげられるなら番地を返す関数である =2×3
=6÷2
という式
昔と違って修正候補は出ずに、×が*に、÷が/に置き換わる
セルの置換でもエラーにならず置換できるが数式は変わらない FILTER関数やSORT関数の空の配列は現在サポートされていないためか #CALC! となるが
それ以前からある配列関数のMODE.MULT関数は、最頻値がない場合は#N/Aを返す シート名変更や削除のとき「元に戻せません」との注意書きがあれば良いと思う Excellent! You are good at Excel! 自身を除くその列の合計を求めようとするとき、たとえばA1に
=SUM(A:A)
=SUMPRODUCT(IF(ROW(A:A)=1,0,A:A))
という式だと循環参照になってしまう。
しかし、計算を手動にすると正しく計算される。
A1でウィンドウ枠を固定して
A1に=A1:A2と入れると循環参照になると思いきや計算が止まるが
どこかのセルをクリックすれば大丈夫
しばらく経つと「数式を計算できません〜循環参照は表示されません」と表示される
=A1のように「1つ以上の循環参照〜」のほうのメッセージであれば止まることはない
FormulaVersion:=xlReplaceFormula2
これは文字列を置換した後にスピル対応の数式にするマクロである
これを付けない場合、@演算子がつく書き方になる
複数セルの配列数式はテーブルでは許可されていませ 複数セルの配列数式はテーブルでは許可されていません?
これ翻訳ミス? GoogleスプレッドシートのUPLUS関数
使い道がない。
範囲であったのを範囲でなくするだけ。
XLOOKUPを使おうとすると、「引数は3〜6個に」との指示が出るが
そうしても使うことができない模様 VLOOKUPやMATCHの近似一致検索は、順番通りに並べても同じ数字があったらダメである VLOOKUPやMATCHの近似一致検索は、順番通りに並べても同じ数字があったらダメである VLOOKUPやMATCHの近似一致検索は、順番通りに並べても同じ数字があったらダメである 他に欲しい機能
・「AとB」を「BとA」へ、「ABC and 123」を「123 and ABC」へ転換する関数
・ROWSとCOLUMNSを掛け合わせた関数
・MROUNDで符号が異なっていても値を求められる関数(スピルにも対応する)
・INDEXやXLOOKUPで求めた番地をそのまま番地として返す関数(番地をそのまま返す機能も)
・ISBLANKやCOUNTBLANKで、数式の結果が空白である時の挙動を変えた関数
・IFERRORやIFNAのようにIS系をIF系に変えたもの(ISZERO、IFZEROなども追加で)
・{A1,A2+1,2}のような配列定数に数式という機能
・(A1,A2+1,2)+(B1,-B2,0)のように、離れた番地や数式の演算機能(セルの分割?)
・1900/2/29以前の日にちを三角マークで警告表示
・循環参照を三角マークで警告表示
・数式に入力エラーがあってもそのまま文字列として入力し、三角マークで警告表示したまま放置できるようにする
小数の誤差に関しては
=やEXACTだとTRUEになるのに
IMPOWER,COMBIN,DELTA,MODなどは精度が低く誤差が発生しやすい 画面左下の循環参照の表示の優先順位は1>2>3
1. 単一の値を返す数式の循環参照
2. 揮発系関数(NOWやRANDなど)を使った数式(実際は循環参照ではない)
3. 配列数式の循環参照
ただし、「リソース不足になりました」と表示された場合、循環参照は表示されず、
エラーチェック→循環参照もグレーアウトされる
1.が存在する場合は、3.が存在していても
「1つ以上の循環参照〜」と表示される。
ただし、1.がないシートで2.や3.がある場合は、左下に2.のほうの循環参照ではないセルが表示される。
1.も2.もないが3.のあるシートでは、循環参照は正しい番地が表示される
3.が存在する場合
「数式を計算できません〜循環参照は表示されません」と表示される
エラーチェック→循環参照はグレーアウトされる
2.があるシートでは、左下に循環参照ではないセルが表示される
2.がない場合は3.の正しい番地が表示される
テクニックとしては、警告を故意に表示して、揮発性関数を他の関数に置き換えるというやり方もある。 =INDIRECT(A1:A3)のようにINDIRECTで複数範囲を参照すると#VALUE!エラーになるが
=SUM(INDIRECT(A1:A3))だと正常に計算できる。
ただ、A1にB1:B2の文字列が入っていても、実際はB1のみしか反映されず左上のセルしか間接的に参照されない。
名前の定義では (A1,A3) のように離れた複数セル範囲を指定することもできる。
これをINDEX, AREAS, SUMなどで応用することもできる。
ただし、そのまま=だけで参照すると#VALUE!エラーになる。
QUOTIENT,RANDBETWEEN,EOMONTHなどの(かつて分析ツールが必要だった?)関数は
=EOMONTH(A1:A3,0)のように複数セルの範囲を使うことができず#VALUE!エラーとなり、スピルも使えず@演算子も使えない。
シート名の途中に数字が入っていて'が無い(先頭が数字でなくスペースなどの記号がなくセルの名前とも競合していない)場合、エラー修正候補が出るとおかしくなる。
=A2022B!A1+1+
のように入力すると、
修正候補は=AB2022!A1+1となり、数字が最後に来てしまう。 保護ビューかメモリ不足の状態で複数ウィンドウでExcelを使ってコピペすると「貼り付け元の範囲には、Excelのこのインスタンスに貼り付けできない数式が含まれています。」と表示される。
これで「今後このメッセージを表示させない」を選んだら、再び表示する方法はない?
Ctrl+TabでアクティブできないExcelウィンドウがあれば、別のインスタンスで開いていることであり、数式を入力するときにそのウィンドウにあるセルを参照できず、数式をコピペしたりできない。
文字列を入力中に矢印キーを使うと、数式でもないのにセル番地の参照(たとえば+A1)が入力されたりすることがある。
=A1(A2)と入力すると
関数の名前のエラー(#NAME?)ではなく、セル番地と認識させるためか#REF!となる。
こういう関数ってある? オブジェクト名.copy と worksheets(シート名の文字列).copy ではどちらが良い?
一般的には前者だと思うが、ブック数が多いとオートメーションエラーになる模様。
後者だと途中でマウス操作するとマクロが狂う。 複数のセルのうち同じ位置の行か列を参照するときに@を使うが、これはLotus1-2-3とは全く関係ない。
=IF(RAND()>0.5,A1,0)
のようにランダムに分岐して循環参照が発生する数式では、Excel365だと、スピルが導入されたためか、循環参照のメッセージが異なることがある。
手動計算だと、スピル範囲でDeleteキーを押すと、「この数式をスピルできませんでした」と表示されて、スピル範囲に青い破線が表示させません。
うっかり大きな範囲を参照するだけでリソース不足の警告が表示される。
=@A:ZZ
=SUM(A:ZZ)
という、配列数式でない方法で大量の行や列を参照してもリソース不足にはならないが
=SUMPRODUCT(A:ZZ)+@A:Z
SUMPRODUCT,MODE,LOOKUPのように@演算子があっても、リソース不足になる例もある。
配列数式でも
{=SUM((A:ZZ=0)*1)}
{=IF(A:ZZ,1,0)}
など、演算式やIF関数などの論理式を使うとリソース不足になる。
=INDEX(A:A,MATCH(C1,B:B,0),1) は@を使った場合の修正候補は@を使わない数式となる。
しかし、=INDEX(A:A,ROW(),1) はROW関数自体が0を返すことがなく、そのINDEX関数が列全体を返すことがないはずだが、修正候補は@INDEXと使った式になる。
@を使って動的配列(スピル対応版)にならないようにして、従来の計算方式にしたほうが容量が軽くなる模様。
それでも同じ行や列の値が予期せず表示されるのを避けるために、IF関数で引数が0にならないように処理したほうがいいかもしれない。
他にもIFSやSWITCH関数は、従来のIFやCHOOSEとは異なり、引数自体に配列があってもなくても配列自体を返す仕様なのか、修正候補は必ず関数名に@を使うスタイルになる。 #FIELD!
=IF(A1=A2.1,0)
コンマをピリオドと間違えると、A2.1が株式や地理のフィールドと認識されて#FIELD!エラーとなる。
しかも、数式の検証を行うと直後の文字が続けて表示されておかしくなる。
余談だが、A1#のように#演算子を含めて数式の検証を行うと#に下線が表示されない。
#BUSY! または #Bビジー!
WEBSERVICEやSTOCKHISTORYを使うと #Bビジー が一瞬表示されることがある。
ちなみに、ERROR.TYPEを使うといずれも15になるが、#BUSY!や#Bビジー!と故意に入力してERROR.TYPEで調べると0になる。
ウィンドウのどこかをクリックして計算を途中で中断すると#Bビジー!でなく#CALC!となることもある。
#BLOCKED! (Web版Excelでは #ブロック!)
STOCKHISTORYを使おうとすると、サインインしていない場合に表示される。
#CONNECT! (Web版Excelでは #接続!)
Web版ExcelでSTOCKHISTORYを使おうとすると、インターネットに接続できない場合に #接続! と表示されるらしい。 =SUM(COUNTIF(範囲,{"●●","▲▲"})+A1:A3+@A1:A3のように配列定数と@とスピルを混合させた数式は、@の修正候補が表示されず、
=SUM(COUNTIF(範囲,{"●●","▲▲"})
だけにしても単一セルに見せかけてのスピル数式 (循環参照のメッセージが「循環参照は表示されません」のほう) になり、@の修正候補も表示されない。 游ゴシックに変わったせいで#VALUE!が出る度に横幅調節される ちょっとまえExcelにラムダ導入って話を聞いたんだが
どうなったんだ 名前の定義では
串崎と離れた範囲の併用はできないね
A='Sheet1:Sheet3'!A1:A2,'Sheet2:Sheet3'!B1
と定義して
=SUM(A)
としたら #VALUE! になった けっこうバグが見つかって重要な情報はExcelでは使えないムードになってきた mはmonth(月)でもminute(分)でもある。
なんで本来のprimaのpじゃなくてmiNuteのn?
am/pmがあるから? 反復計算なしでの循環参照、リソース不足で計算できない
という場合に計算結果が0になってエラー表示にならない仕様はなんなの? 最近 Excel で仕様書書いてて不便に感じた点
・結合されたセルをコピペするときの仕様が謎(一番大きな問題)
・列の幅とか、行の幅とか、一箇所だけちょっと変えるみたいなことができない(表だから当然なんだけどね)
・仮想デスクトップを使ってる時、あるデスクトップで先に Excel を開いていると別のデスクトップで開いても先に開いてたとこに移動する(これクソ) Excel で仕様書を書くな、になるんだけど
Word は Word で不便でね…(文章自体を作るなら Excel よりも 100 倍向いてるんだけど) 別シートを参照する数式を入力したら、今のシートのセルを参照すると今のシートの名前が付くのは仕様? >>935
sum+countif+配列定数の場合だと、実際はスピルしない従来の数式となっているのに、「循環参照は表示させません」となる なんかExcelが動かなくなったと思ったら
Enterを押すと別のブックがアクティブになるバグがあった ファイル破損するのは無理なデータ量だと思うわ
めんどうだがAccessなどの世界になるわ 1日くらいで書いたエクセルの資料が、翌日出社したら開けないことはあったな。
LibreOfficeで開いて保存したら、エクセルで開けるようになったけど、レイアウトがぐちゃぐちゃになってたw ジャンプがCtrl+Gなのは
Jumping Girl だから?
いや、Go To のG 銀行案件ではExcelのファイル破損後にエビデンスがぐちゃぐちゃになって大炎上したことがある
当時はサービス残業が月100時間超えた XLOOKUPは#N/Aの場合を指定できるが
XMATCHにはない
SORTBYでなくSORTが使える例がある
FILTERを使った結果をさらに並び替えたいときに使える
並び替え対象を範囲でなく数字で何列目かを指定できるでからである Excelのヘルプに「よく読まれている関数トップ 10」というものがあるが、そこにCHOOSE関数があるのが謎。 戻る/やり直し を選択したとき、
入力履歴では&マークが消えてる
&としても amp;になる 1900/2/29 (それか1904年以前)
循環参照とか
リソース不足になった場合でも
セルの左上にエラーマーク出してほしいね index関数は@マーク付きのほうが動作が早いかもしれない 非表示の列にジャンプしてから、右クリックと同等のキー(アプリケーションキー)を押して再表示すると、その範囲だけ再表示することができる。 編集を有効にする(E)
これをキーボードで選択する方法ある? 数式の検証で、
「[ 検証 ] をクリックすると」
の [ 検証 ] が [ 計算 ] になってる。
下のボタンは [ 検証 ] である 「計算中にリソース不足になりました」
というメッセージ、
Web版だと
「原因は不明ですが、要求を完了できませんでした」
と表示され、入力した数式が消されてしまう。
なぜかフィードバックを送信することもできる。
シートを削除するときも、なぜかフィードバックを送信することもできる。 =#SPILL!は受け付けられないが、
={#SPILL!}と入れた場合は、「wk1フォーマットの保存中に無効な値が使用されました」と表示され、ERROR.TYPEは0となる。COUNTIFにもカウントされる。
しかし、実際にエラーが発生して#SPILL!となった場合は、ERROR.TYPEは9となり、COUNTIFにはカウントされない。 VBAはとにかくコードが美しくならないので、だんだん嫌になってくる。 formulatext には latexが含まれる ISO.CEILING
CEILING.PRECISE
って隠し関数? XLOOKUP(A1#,B1:B9,A1:A9,XLOOKUP(A1#, D1:D9,C1:C9))
だとうまくいかないが
IFERROR(XLOOKUP(A1#,B1:B9,A1:A9),XLOOKUP(A1#,D1:D9,C1:C9))
だとうまくいくことがある =A1:A3
のような数式
もともと配列の範囲をしても、Enterを押すだけでは配列数式ではなく、1つのセルしか参照されないのは、重くならないようにするため? 書式設定で
もっと色を指定できるようにしてほしいね
コントラストが強すぎる
そしてTRUE,FALSE,エラー値も書式設定できるようにしてほしいね プログラミング禁止のうちの会社
エクセル関数はいいんだとw 右クリックメニューでのシートの選択で複数選択できない >>932
C4からA1に向かってドラッグして
=COLUMNS(C2:D2)+{0}
と入力してCtrl-Enterを押すと…?
なお
C3からA1 に向かってドラッグして
=COLUMNS(B2:C2)+{0}
と入力してCtrl-Enterを押すと
COLUMNS関数が0を返す >>1
そりゃ
プログラマとしては、ExcelVBAとかは使わないからな。
一般ユーザーがExcelVBAを覚えちゃったら、自分たちのプログラミングが大したことないことがバレるし、
下手すりゃ外注で騙してカモってたのに、カモれなくなるどろか、内製にいかれちまったら、自分たちくいっぱぐれるからな。
理系と勝手に思い込まれているけど、就職できないやつが最後に行き着く先がプログラマって分野だってバレる プログラマとしてお金を頂く時に低単価なEXCEL VBAの仕事をうける事はない
それはまるでプロの大工に犬小屋を依頼するような事と同じだからだ
ただ、それは便利なEXCEL VBAを覚える価値がないという事ではない
大工だって犬を飼うし、犬を飼うなら自分で犬小屋をつくることもあるだろう
そしてそれは大工のキャリアを反映した立派な(そして趣味を反映した)犬小屋になるはずだ
世の中の一般ユーザーが犬小屋を作ったとしてもそれはけして大工になることとイコールではない
プロの犬小屋建築士が生まれるかもしれないが、それは大工と呼ばれる事はないだろう
つまり、EXCEL VBAとプログラマというのは共通ノウハウはあるが、けしてEXCEL VBAを習熟してもプログラマにはなれないということだ
しゃれた犬小屋をつくったからといって大工をバカにする人がいれば、それは滑稽に見えるだろう =SUM(INDIRECT("A"&{2,3}))
2
3
=INDIRECT("A2:A"&{2,3})
という数式の挙動がよくわからない
365でそのまま確定
配列数式
従来の数式
数式を入力中にF9
で結果は違うし WEEKDAYって平日?
ISWEEKDAY関数とか出たらどうなるの?
Engrish? Excel VBAで生産管理システム書いたお客様がいて
詳細設計書にリバースしたことはある
大手製造メーカーの中の人がカイゼンの名の元にやらかしたらしい
お金よかったし楽勝ぽかったんで請けた、予想通り楽だった
人間やろうとすれば何でもできるんだなって思ったわ Excelっていまだに色が#FFFFFFと#000000の組み合わせなの? >>994
WEEKDAYは曜日を返すんだったかな WEEKDAY関数で引数を11以降にしてxls形式で保存しても互換性の警告が表示されない なんだかんだでEXCELは、最強のプログラミングツールで、日本の職業プログラマが雑魚だって、素人にバレるきっかけになるからだよ。
そして、プログラマよりエクセルVBAの使える事務職のほうが給料が高いという現実もあるからだよ レス数が1000を超えています。これ以上書き込みはできません。