[[20210412214529]] 『CSE数式について。』(コルム) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CSE数式について。』(コルム)

https://oshiete.goo.ne.jp/qa/12302300.htmlのNo.2について、以下の文はどういう意味でしょうか?ご教授いただけないでしょうか?
質問にある式を、配列数式として同じ行数である6行分の範囲へと
2列で範囲選択して、質問にある数式を記載します。
[ Ctrl+Shift+Enter ]キーで配列数式にすると、A2:A7の範囲が左の
列に、C3:C8の範囲が右の列に配置されます。
ここはどうやればいいのか分かりません。
ご教授いただけないでしょうか?すみません。
スピルは使えるのですが。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


ご健在でなにより。いつものやつです。

 ●質問一覧(本サイトのみ) 
[[20181011182658]] 『万年カレンダーについて。』(コルム) 
[[20181020202532]] 『万年カレンダーについて。』(コルム) 
[[20181021112144]] 『箱ひげ図について。』(コルム) 
[[20181021154813]] 『箱ひげ図について。』(コルム) 
[[20181021162907]] 『箱ひげ図について。』(コルム) 
[[20181022123400]] 『縦の箱ひげ図について。』(コルム) 
[[20181022125526]] 『ピボットテーブルについて。』(コルム) 
[[20181024080641]] 『SUM関数について。』(コルム) 
[[20181024085712]] 『キューブ関数について。』(コルム) 
[[20181026144828]] 『箱ひげ図について。』(コルム) 
[[20181028131534]] 『ピボットテーブルについて。』(コルム) 
[[20181106191317]] 『ピボットテーブルについて。』(コルム) 
[[20181109205503]] 『randbetween 関数について。』(コルム) 
[[20181112162717]] 『見積書について。』(コルム) 
[[20181114093402]] 『見積書について。』(コルム) 
[[20181118181104]] 『ピボットテーブルについて。』(コルム) 
[[20181123214608]] 『旅行案内文章について。』(コルム)
[[20181128200651]] 『日付について。』(コルム)
[[20181212201551]] 『関数について。』(コルム)
[[20181214114042]] 『カレンダーについて。』(コルム)
[[20181217173153]] 『DATE 関数について。』(コルム)
[[20190121113243]] 『マクロプログラミングについて。』(コルム)
[[20190126174018]] 『ピボットテーブルについて。』(コルム)
[[20190312170552]] 『凡例について。』(コルム)
[[20190317153842]] 『折れ線グラフについて。』(コルム)
[[20190716142811]] 『wordについて。』(コルム)
[[20190922134153]] 『数式について。』(コルム)
[[20190922144048]] 『インデント7について。』(コルム)
[[20190922155019]] 『Time card について。』(コルム)
[[20191206183118]] 『エクセルヒストグラムについて。』(コルム)
 【今ココ】
[[20210412214529]] 『CSE数式について。』(コルム)

 【質問者向け】
 ・このサイトはマルチポストは禁止してませんが、それでも、他のサイトで
   言われた(見た)ことをこちらで騒いでも解決になりませんので、持ち込まないようにしましょう。 
 ・パソコン塾の教材で疑問に思った場合は、塾の先生に聞きましょう。
 ・パソコン教室に通っているのであれば、同じ画面を見ながら講師の先生に質問してみましょう 
 ・気に入らないコメントが付いたら同じ内容でトピックを立て直すという癖は直しましょう。 
 ・適当に話を終わらせて、同じ内容でトピックを立て直す癖も直しましょう。

 【回答者さん向け】
 ・答えるときは冷静に!答える前に他のトピックを見て質問者さんの傾向を確認してください。 
 ・マルチポストの常連者であることが、指摘されています。言っても直りません。(直す気は無いようです) 
 ・別サイトではメンタルを患っているとの投稿があったようです。
   (本サイトでは本人と思われる投稿でそのような書き込みは確認されていません。)

(ニックネームは内緒) 2021/04/12(月) 21:54


 コルムさん

 久しぶりじゃないですか。

 そのNo.2さんの書き込みですけど、
 真剣に理解しようとすると無駄骨になりますよ。 
 何故って、こんなの嘘っぱちですから。
       ↓
 >0が先になるのは配列だからです

 配列数式の入力方法の簡単なやり方は
 1.とりあえずその数式を先頭のセル(E1セルと仮定する)に普通に入れる。
   #VALUE! と表示されるが気にしない。

 2.E1セルを先頭にE1:F6の範囲をドラッグ選択する。

 3.F2(ファンクションキー2)を押してから、
   CtrlキーとShiftキーを押しながら、Enterキーを押せば完了

 ※まぁ、スピルが使えるバージョンは、単にE1セルに入れた途端に完了ですけどね。

(半平太) 2021/04/13(火) 00:00


すみません。
これについてもご教授いただけないでしょうか?
https://sp.okwave.jp/qa/q9875703.html
のNo..1の
数式を直してみれば解りますが「配列の一部を変更できません」と書いてありますが、どの様に直すのでしょうか?ご教授いただけないでしょうか?すみません。セルの選択範囲でしょうか?例えば、
どこのセル範囲とかでしょうか?ご教授いただけないでしょうか?すみません。
これについてです。
(コルム) 2021/04/14(水) 09:37

 質問内容がよく分かりません。

 引用じゃなく、この掲示板に一から質問を書いてください。。

(半平太) 2021/04/14(水) 11:25


 まず、スピルの使える環境とは、エクセル2019、OFFICE365 の様な最新版です。詳しくは「スピル」でググって下さい。
貴殿はスピルの使える環境せすか。
>A列とC列の範囲以外ならどこでも入力ができます。(10行目以降なら、どの列でも入力可能)
要するに、A1〜C8以外なら、どこにおいてもいいという事です。(この範囲に置く馬鹿はいないと思います)

A〜C列を画像の様に入力し、
E1:F6 を洗濯した状態で、数式ボックスに
=IF({TRUE,FALSE},C3:C8,A2:A7) を入力し、Ctrl+Shift +Enter を押してみて下さい。
(スピルの使える環境なら、E1に入れればいいです)
EF列が画像の様になります。
しかし、数式を直してみれば解りますが「配列の一部を変更できません」と出てきます。
メンテナンスの度にこの操作をしなければならないので、不便この上ない。この場合、
E1: =C3
F1: =A2
下へコピペした方が、早いし楽です。

スピルの使える環境でも、下へコピペが面倒なら、
E1: =C3:C8
F1: =A2:A7
にした方が、簡単で解りやすいです。数式はできるだけ簡単にすべきです。互換性もなくなるし、メリットはありません。このような数式は使ってはいけません。
なのですが。ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 14:34


 1.とりあえずその数式を先頭のセル(E1セルと仮定する)に普通に入れる。
   #VALUE! と表示されるが気にしない。とすると、0になったのですが。ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 14:54

数式を直してみれば解りますが「配列の一部を変更できません」と出てきます。 これは、どういう事でしょうか?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 15:34

 > 1.とりあえずその数式を先頭のセル(E1セルと仮定する)に普通に入れる。
 >   #VALUE! と表示されるが気にしない。とすると、
 >     0になったのですが。ご教授いただけないでしょうか?すみません。

 まだ、その段階だったんですか。とほほ

 >=IF({TRUE,FALSE},C3:C8,A2:A7)
 その数式を入力するセルの位置によっては「0」になることもあるかも知れません。

 試しにE1から下に、まったく同じ数式を入れると(下に単純コピーじゃないです。念の為)、
 下図になります。

 <結果図>
 行  _A_  ___B___  ___C___  _D_  _E_
  1                              #VALUE!   
  2  A2                          #VALUE!   
  3  A3            C3だね        C3だね   
  4  A4            C4            C4   
  5  A5   空白→                 0   
  6  A6            C6            C6   
  7  A7            C7            C7   
  8                C列最後       C列最後   
  9                              #VALUE!

 ※C5セルが空白で、E5セルに数式を入れると「0」になっています。

 こんな結果が得られてもほぼ無意味ですよね。

 ※・・と言うか、その式は何をしようとしているのか分かっていますか。
 ※分からなかったら、考える価値もない数式と思うんですけども。
 ※実用の話じゃなく、知識欲で知りたいって話なんですか?

 さて、普通に入力したら、同じ行のC列のデータが出てきました。(ただし、空白は0に変わる)
 この現象を共通部分参照と呼ぶ人がいます。

 何と呼ぼうが、とにかくそんな現象があるのは確かです。

 では、共通部分じゃない所はどうなっているんでしょうね。
 引数は C3:C8,A2:A7と12セルありますから、気になります。

 結論としては、普通に入力したのでは、無視されるんだとしか考えられません。

 そこでCSE入力ってものがあるんです。
 この入力方法でやると、共通部分じゃなく、すべてのデータ(12セル)が配列で返ってきます。

 配列で返ってくれるんですが、入力したセルは一つなので、12セル分の表示はできないです。
 1つだけです。つまり、E1にCSE入力すると、E1セルに「C3だね」としか出ません。

 <結果図>
 行  _A_  ___B___  ___C___  _D_  ___E___
  1                              C3だね 
  2  A2                                 
  3  A3            C3だね               
  4  A4            C4                   
  5  A5   空白→                        
  6  A6            C6                   
  7  A7            C7                   
  8                C列最後              

 返ってきた配列を全部表示したいなら、
 (6行x2列)の配列なので、E1:F6を選択してから、CSE入力することになります。

 <結果図>
 行  _A_  ___B___  ___C___  _D_  __ E __  _F_
  1                              C3だね    A2 
  2  A2                          C4        A3 
  3  A3            C3だね           0      A4 
  4  A4            C4            C6        A5 
  5  A5   空白→                 C7        A6 
  6  A6            C6            C列最後   A7 
  7  A7            C7                        
  8                C列最後                   

 C列のデータが左にくるのは、IF関数の第1引数が{TRUE,FALSE}になっているので、
 先ず左側にあるTRUEに対応する C3:C8 が返ると言う寸法です。

 >数式を直してみれば解りますが「配列の一部を変更できません」と出てきます。 
 >これは、どういう事でしょうか?

 上の例だと、E1:F6に結果が出ましたが、それらは一つの数式によってもたらされたものです。

 数式の変更するときも、一緒に変更することが求められています。
 マイクロソフトが決めた仕様なんで、逆らっても修正は受け付けてくれないだけです。

 変更したければ、数式の文字列を修正後、CSE入力をするしかないです。

(半平太) 2021/04/15(木) 18:11


すみません。E1にその数式を打つとスピルになって、E1:F6の範囲が、0になるのですが。ご教授いただけないでしょうか?すみません。どうすれば良いのでしょうか?
(コルム) 2021/04/15(木) 19:07

 半平太さんが
 >※C5セルが空白で、E5セルに数式を入れると「0」になっています。
と書いていますよ
C3:C8,A2:A7セルが空白ではないの?
( はまちゃん) 2021/04/15(木) 19:23

 スピルするバージョンなんですか?

 >数式を直してみれば解りますが「配列の一部を変更できません」と出てきます。 
 >これは、どういう事でしょうか?

 スピルするバージョンは、もうCSE入力する必要がなく、
 普通に入力するだけだからそんな警告は出ないです。

 ※CSE数式の質問をすること自体無意味ですよ。

 >E1にその数式を打つとスピルになって、E1:F6の範囲が、0になるのですが
 空白のハズが、何故0になるのか、と言う疑問なんですね?

 これは、配列数式の問題とは無関係です。

 普通に =ZZ5000 とか入れてみれば、ZZ5000は空白なので「0」になります。
 空白を参照すると0表示されるのは仕様と言うしかないです。

 何にすれば良かったと思いますか?
 空白なんだから、空白にすればいいじゃん、ですよね。

 でもそこには数式が入っているんですよ。空白のハズがないです。
 すると考えられる選択肢は、「0」か「空白文字列」のどちらかと見るのが相場じゃないですか?

 究極の選択として、(表計算ソフトなんだから)、0を選んだんじゃないですかね。
 誰もその検討過程は知らないんじゃないですかね。

(半平太) 2021/04/15(木) 19:53


じゃあ、半平太さんのような結果図にならなくても大丈夫という事でしょうか?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 20:19

 >半平太さんのような結果図にならなくても大丈夫という事でしょうか?

 ちょっと意味が分からないです。

 ちゃんと、A列とC列に同じデータを入れて
 E1セルに =IF({TRUE,FALSE},C3:C8,A2:A7)
 と普通に入れたら、同じになりますよ。

 <結果図>
 行  _A_  ___B___  ___C___  _D_  __ E __  _F_
  1                              C3だね   A2 
  2  A2                          C4       A3 
  3  A3            C3だね              0  A4 
  4  A4            C4            C6       A5 
  5  A5   空白→                 C7       A6 
  6  A6            C6            C列最後  A7 
  7  A7            C7                        
  8                C列最後                   

(半平太) 2021/04/15(木) 20:28


   #VALUE! と表示されるが気にしない。と書かれてありますが、この#VALUE!もスピルだと表示されないという事でしょうか?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 20:46

いつものようにボケが始まったみたいだね。

() 2021/04/15(木) 20:48


 >いつものようにボケが始まったみたいだね。
 お前のHN入れ忘れボケを先に直せ。

 >この#VALUE!もスピルだと表示されないという事でしょうか? 
 その通りです。スピルするバージョンは、以前と比べると格段に進化したんです。

(半平太) 2021/04/15(木) 20:53


念のために聞きますが、そんな警告は出ませんとは、「配列の一部を変更できません」の事ですよね?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/15(木) 21:52

はいそうです。
(コルム2世) 2021/04/15(木) 22:07

 スピルするバージョンなら、「配列の一部を変更できません」の警告は出ませんが
#スピル!エラーになります
( はまちゃん) 2021/04/16(金) 05:28

#スピル!エラーになりますこれは、どういう事でしょうか?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/16(金) 16:20

 実際に試してみてから質問しましょう
( はまちゃん) 2021/04/16(金) 16:23

#スピル!エラーは、半平太さんの結果図の通りになるのでしょうか?ご教授いただけないでしょうか?すみません。

(コルム) 2021/04/16(金) 16:27


すみません。入力するセルは、半平太さんの結果図と同じなのでしょうか?ご教授いただけないでしょうか?
(コルム) 2021/04/16(金) 16:31

 6行x2列の範囲で空いているならどこでも可能です
(入力は左上の1セルのみ)
スピルされた結果の数式を入力したセル以外のセルに何か値を
入れてみれば分かります
( はまちゃん) 2021/04/16(金) 16:37

スピルされた結果の数式を入力したセル以外のセルに何か値を
入れてみれば分かりますという事は、6行 × 2列以外のところに、何か値を入力するという事でしょうか?ご教授いただけないでしょうか?すみません。
(コルム) 2021/04/16(金) 17:24

私も勉強中なのですが

=VLOOKUP(E3, CHOOSE({1,2,3},C3:C8,B2:B7,A2:A7),3,0) は

1.VLOOKUPが検索列の1列目をCHOOSEに問い合わせC3:C8が帰り、E3の値で検索し対象行を決定する。
2.VLOOKUPが対象列の3 列目をCHOOSEに問い合わせA2:A7が帰り、対象行の値を返す。

だと上記式は不要な情報があり
=VLOOKUP(E3, CHOOSE({1,2},C3:C8,A2:A7),2,0)
でよい、で会っていますでしょうか?

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
に近いことができる。でよいでしょうか?
(takesi) 2021/04/16(金) 17:35


 6行 × 2列以外ではなく6行 × 2列内
の入力したセル(左上のセル)以外のセルです
(はまちゃん) 2021/04/16(金) 17:41

はまちゃんさんへ
以下のURLの画像みたいになるのでしょうか?ご教授いただけないでしょうか?すみません。
https://6900.teacup.com/cgu135/bbs/1066
(コルム) 2021/04/16(金) 17:52

 聞くまでもなく、実際にエラーになっていますよね
(はまちゃん) 2021/04/16(金) 18:14

ありがとうございました。解決しました。
(コルム) 2021/04/17(土) 11:41

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.