• 締切済み

配列がとびとびである場合の書き方

excelの関数で(配列1,配列2)と指定するとき、配列がとびとびである場合、 =関数((B5:B6,B8:B14,B18,B20,B22:B23,B27),(C5:C6,C8:C14,C18,C20,C22:C23,C27)) このような書き方で試してみてもエラー(#Value)が返ってきてしまいます。 他に""で囲ってみましたが上手くいきませんでした。 どうすればよろしいのでしょうか? 色々調べてどうしても分からなかったのでここで質問させて下さい。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

「具体的な状況」として例えば: A2からA30に「男」または「女」と記入してあるときに, A列が「男」であるB列とC列のTTESTを計算したい。 簡単な組み立て: D列に =IF(A2="男",C2,"") と作成し, =TTEST(B2:B30,D2:D30,尾部,種類) と計算する 作業列を使用しない: =TTEST(IF(A2:A30="男",B2:B30),C2:C30,尾部,種類) =TTEST(IF(A2:A30<>"男",B2:B30),C2:C30,尾部,種類) と記入し,必ずコントロールキーとシフトキーを押しながらEnterで入力する。 #こういったやり方が通じるかどうかは,具体的な関数の種類によります。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>具体的にはttest関数です。 >ttest関数は私の書いたような定義の仕方は無理そうですね。 次の関数式で代替できると思います。 =TTEST(B5:B27,C5:C27,1,1) 結果に差異が生じる場合は中間データとして対象外のセルを飛ばした連続データを用意します。 非対象セルのデータがどのような値かによって中間データの処理方法が異なります。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>どうすればよろしいのでしょうか? 関数によって引数の定義の仕方が異なると思いますので具体的に関数名を指定されると良いでしょう。 =SUM(B5:B6,B8:B14,B18,B20,B22:B23,B27,C5:C6,C8:C14,C18,C20,C22:C23,C27) =SUMPRODUCT(B5:B6,B8:B14,B18,B20,B22:B23,B27,C5:C6,C8:C14,C18,C20,C22:C23,C27) =PRODUCT(B5:B6,B8:B14,B18,B20,B22:B23,B27,C5:C6,C8:C14,C18,C20,C22:C23,C27) 提示の式は不適切です。 =関数((B5:B6,B8:B14,B18,B20,B22:B23,B27),(C5:C6,C8:C14,C18,C20,C22:C23,C27))      ↓ =関数(B5:B27,C5:C27) 引数が2つのときは飛び飛びとせずに非対象も含めて1つの領域として扱えるように論理を整理してください。 SUM関数のような場合は多数の配列や単独セルを,(カンマ)区切りで列記します。

mesauver
質問者

お礼

ご回答ありがとうございます。 具体的にはttest関数です。 ttest関数は私の書いたような定義の仕方は無理そうですね。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

ご質問の直接の回答として,セル参照をばらばら並べて配列として計算する方法はありません。 何関数で何を計算したいのかは今回のご質問の主題ではありませんので具体的な回答しませんが,大概の場合は上から下まで丸ごとの「1つのセル範囲(B5:B27)」を配列として与え,それに対して配列計算を駆使して結果を導くことは可能です。 実際何とかしてコタエを計算したいときは,このご相談は一回解決で閉じて,もうちょっと具体的な(正確な)状況を添えて新しいご相談として投稿し直してみてください。

mesauver
質問者

お礼

ご回答ありがとうございます。 具体的にはttest関数です。 性差で数値に違いがあるのか見たかったのですが、 いちいち人を並べ直すのも面倒なので、飛び飛びで指定していました。 もしかしたらもう一度投稿するかも知れません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ttest関数の配列の指定

    エクセルのttest関数に関する質問です。 A2~A10のセルに「はい」「いいえ」のどちらかが書いてあり、B2~B10には何らかの数字が書いてあります。 ttest関数を使って、「はい」の配列と「いいえ」の配列の検定を行うため =ttest({A2:A10,"はい",B2:B10}, {A2:A10,"いいえ",B2:B10}, 2, 3) と書いたのですが、エラーが出てしまいます。 どう書けばよいのでしょうか。

  • 配列のキーに配列を使う場合

    初歩的な事なのかもしれないのですが、 $abc = $a["$b["c"]"]; のように配列のキーに配列を使いたいのですが、上記だとエラーが出ます。 どのように記述すればよいでしょうか?

    • ベストアンサー
    • PHP
  • エクセルにおいての配列関数について

    エクセル の配列関数のSUMPRODUCT使用して このような式を書いた場合 SUMPRODUCT((条件1)*(条件2)*・・・(条件n)*(集計範囲)) =SUMPRODUCT((A1:A30=50)*(B1:B30=750)*(C1:C30=6600)*(D1:D30=210)*F1:F30) 集計範囲の行 いわゆるFの行の数字の中の一つのセルに 「3」などのカッコを使用した ものをいれると "#VALUE!" と表示され正しい答えが出ないのですが 解決方法を教えてください。 よろしくお願いします。

  • エクセル サムイフ関数の合計範囲にエラー値(#VALUE!)がある場合に無視して集計する関数

    宜しくお願い致します。 エクセルのA列に個々の商品名を、B列に売上個数を表示していて、C列に検索条件に使う為に商品名を、D列にサムイフ関数の結果を表すようにしています。 (D列には、C列の商品名と同じ物をA列から探して、(B列の)売上個数の合計を出すという事です) そして、B列の売上個数は他の数式を使って持ってきているので、数字の時もあればエラー値(#VALUE!)の時もあります。 質問させて頂きたいのは、サムイフ関数の検索条件で指定した商品の売上個数(B列)のどれか1つでもエラー値(#VALUE!)があったら、計算結果もエラー値(#VALUE!)になってしまうので、エラー(#VALUE!)がある場合はそのセルを無視した売上個数の合計を出したくて、そのエラー値(#VALUE!)が数値に更新された時はその売上個数も集計されるような関数を作りたいのですが、ご存知の方ご指導お願い致します。 過去の質問を調べてみましたら、サム関数の場合はISNUMBERというのを使用した解決方法がありましたので、自分でサムイフ関数の場合を試してみましたが、上手く行きませんでした。 http://okweb.jp/kotaeru.php3?q=883905 (QNo.883905 04/06/07 15:59) 使用しているOSはXP、エクセルは2003です。 わかりずらい質問文ですみません。宜しくお願い致します。

  • [C#]連想配列の中に配列を入れたい

    いつもありがとうございます。 value["A"]["0"] = "a0"; value["A"]["1"] = "a1"; value["A"]["2"] = "a2"; value["B"]["0"] = "b0"; value["B"]["1"] = "b1"; .... みたいなのを作りたいと考えているのですが以下のようにやっても、できませんでした。 何が悪いのかがわかりません。 Dictionary<string, Dictionary<string, string>> value = new Dictionary<string, Dictionary<string, string>>(); value["A"]["0"] = "a0"; ← value["A"]["1"] = "a1"; value["A"]["2"] = "a2"; value["B"]["0"] = "b0"; value["B"]["1"] = "b1"; ... 実行すると、←のところで、 「指定されたキーはディレクトリ内に存在しませんでした。」 とエラーが出てしまいます。 上記のような配列を作りたい時はどのように書けばいいのでしょうか? よろしくお願いします。

  • 配列について

    C言語についてです。 配列を次のように指定します。 a[3][3][3]={{ {1,7,6}, {6,9,2}, {3,1,1}, },{ {4,6,5}, {5,2,2}, {9,3,7}, },{ {2,6,8}, {2,2,4} {1,1,5}, }} b[3][3]={ {5,5,1}, {3,8,2}, {6,7,0}, } aの配列の中で、bの配列との差が1であるのが多い配列を表示するプログラムを教えてください。 ただし、 {1,7,6}, {6,9,2}, {3,1,1}, なら1、 {4,6,5}, {5,2,2}, {9,3,7}, なら2、 {2,6,8}, {2,2,4} {1,1,5}, なら3と表示する。

  • VBAの配列について

    VBAの配列について質問があります。 以下のような配列Aと配列Bがあったとします。 やりたいことは、配列Cを作成して、配列Aと配列Bを結合したいです。 ----------------------------------------- Dim 配列A(3) 配列A(0) = 10 配列A(1) = 11 配列A(2) = 12 Dim 配列B(3) 配列B(0) = 100 配列B(1) = 110 配列B(2) = 120 ---------------------------------------- Dim 配列C(6) 配列A(0) = 10 配列A(1) = 11 配列A(2) = 12 配列A(3) = 100 配列A(4) = 110 配列A(5) = 120 ---------------------------------------- 配列Cを作るために、配列Aを拡張して、配列Bを挿入すれば可能 でありますが、関数のようなもので簡単に表現できないもので しょうか? 何かご存知でしたが、ご教授願います。

  • 配列について

    Visual Basic6について質問です。 for i =0 to 5 chk(i).value=true のようにカッコ内の配列はうまく動くのですが、 for i =0 to 5 chki.value=true のようにコントロールのオブジェクト名に配列をくみたいのですがエラーがでてしまいます。 このような処理をしたい場合はどうしたらいいのでしょうか。。。

  • 配列

    適当な記述ですが、次を見てください。 void roll(int *c) { int n, b2[8]; if(t<3) { for(n=0; n<8; n++) b2[n]=c[n]; for(n=0; n<8; n++) c[b2[n]]=7-n; for(n=0; n<8; n++) printf("%d",c[n]); printf("\n"); t++; roll(c); } else t=0; } int main() { int b[]={3,6,4,0,7,2,5,1}; roll(b); for(n=0; n<8; n++) printf("%d",b[n]); //36407251が表示されるようにしたい。 return(0); } rollが何の関数かは省略しますが、rollにmainのb(ポインタ?)を渡し、ある処理をして,それでmainに戻ってきた時にb[]を表示すると、36407251が表示されません。 ポインタを引数にするってことはポインタでさしてるとこをrollで操作してるわけですよね? そうすれば変わって当然だとはおもいます。 でも関数1で関数2に配列1を渡し、その関数2の中でで配列1の値が変化しても、元の関数1にもどれば配列1のまま変化していないようにするにはどうすればいいですか? やはり もう1つ配列を用意しなきゃだめなのでしょうか。

  • Frequency関数データ配列の範囲

    ExcelのFrequency関数を使って度数分布を作ろうとしています。 {=FREQUENCY(データ配列,区間配列)}のデータ配列のところに、 離れた場所にあるセルを同時に指定することはできないでしょうか? 例えば、B1:B15とD1:D15を同時に同じデータ配列に組み込むことは出来ないのでしょうか? バージョンはExcel2000です。よろしくお願いします。

専門家に質問してみよう