- 締切済み
Kingsoft(Excel)の計算式について
A B C D E F G -1 -2 3 4 5 6 7 上記A1、C1、E1、G1の各セルを対象に正数という条件で小さいほうから1番目と2番目の合計の平均値を求める式をご教示ください。つまりC1の3とE1の5の合計の平均値ということになります。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.7 です。連続ですみません。手が滑って、No.7 の 2 式にはともに「$」を付けてしまいましたが、どちらも不要でした。「$」は削除でお願いします。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- bunjii
- ベストアンサー率43% (3589/8249)
- bunjii
- ベストアンサー率43% (3589/8249)
>Kingsoft(Excel)の計算式について Kingsoftの持ち合わせが無いのでMicrosoft OfficeのExcelを対象にします。 設問の「正数で小さいほうから1番目と2番目」とありますが、「つまりC1の3とE1の5」では矛盾があります。 「正数で奇数」と言う条件であれば「つまりC1の3とE1の5」が成り立ちますのでこちらを条件とさせて頂きます。 平均値を求める関数はAVERAGE(配列数または数値の羅列)です。 つまり、次の式が適当かと思います。 =AVERAGE(SMALL(IF((MOD(A1:G1,2)=1)*(A1:G1>0),A1:G1,""),1),SMALL(IF((MOD(A1:G1,2)=1)*(A1:G1>0),A1:G1,""),2)) この式はIF関数の返り値が配列にするため数式バーへ入力後、Ctrl+Shift+Enterで確定します。 AVERAGE関数の第1引数はA1:G1の正数で偶数の中から小さい順の1番目です。 第2引数は同じ範囲の小さい順で2番目です。 SMALL関数では配列が返らないので次の式は成り立ちませんでした。 =AVERAGE(SMALL(IF((MOD(A1:G1,2)=1)*(A1:G1>0),A1:G1,""),{1,2})
- tom04
- ベストアンサー率49% (2537/5117)
No.3です。 >SMALLIFを使って出来ないかと考えたのですが とありますが、SMALL関数は「小さい方から○番目」というように単独での抽出になると思いますので、 作業列(行)を使い、RANK関数などを併用すれば可能かもしれませんが、 作業列(行)なしで!となると前回の方法くらいしか思い浮かびません。 この程度でごめんなさい。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! >C1の3とE1の5の合計の平均値 は >「合計」という言葉は不要で、「3」と「5」の平均 すなわち「4」でよい訳ですよね? 一例です。 表示したいセルに =AVERAGE(MIN(IF(MOD(COLUMN(A1:G1),2)=1,IF(A1:G1>0,A1:G1))),SMALL(IF(MOD(COLUMN(A1:G1),2)=1,IF(A1:G1>0,A1:G1)),2)) これは配列数式になりますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は、 上記数式をドラッグ&コピー → 表示したいセルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。m(_ _)m
- keithin
- ベストアンサー率66% (5278/7941)
エクセル形式の数式で回答しますが, >正数という条件で小さいほうから1番目と2番目の合計の平均値 その通りに1番と2番を拾って計算してみます =IF(COUNTIF(A1:G1,">0")<2,"NA",AVERAGE(SMALL(A1:G1,COUNTIF(A1:G1,"<=0")+1),SMALL(A1:G1,COUNTIF(A1:G1,"<=0")+2)))
お礼
ご返答ありがとうございます。小生の知識ではまだ理解できません。 =AVERAGE(SMALL((A1,C1,E1,G1),{1,2}))で計算すると小さいほうから1番目と2番目とすると-1と3が対象になって計算されますなります。そこで”>=0”という正数という条件を組み入れて3と5が対象にすること(SMALLIFを使って出来ないかと考えたのですが)は出来ませんか?
補足
ご返答ありがとうございます。小生の知識ではまだ理解できません。 =AVERAGE(SMALL((A1,C1,E1,G1),{1,2}))で計算すると小さいほうから1番目と2番目とすると-1と3が対象になって計算されますなります。そこで”>=0”という正数という条件を組み入れて3と5が対象にすること(SMALLIFを使って出来ないかと考えたのですが)は出来ませんか?