エクセルで別シートの数個のセルの中の数値から同じ数字の一番多いものを選び出して入力する方法を教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>ネストってなんですか?


 関数式中に関数式を組み入れた(複雑な)式のことです。
 例えば、ご質問の式でエラー値N/A!を返さない様にするために、
=if(isna(mode(sheet1!a1:a30))=true,"最頻値はありません",mode(sheet1!a1:a30))
※上式解説:if関数で、もし、(最初に示した)条件「sheet1!a1:a30の範囲の最頻値を返しなさいという関数の答がN/A!エラーと等しい」ならば、2番目の区切りの命令「""内文字列」を返し、そうでなければ最後の区切りの命令「を返しなさい。という中に、最初の条件で とネストを作れば、「sheet1!a1:a30の範囲の最頻値を返しなさい」という条件分岐関数を組み込んだ
 上記式のような、関数の中に、関数を組み込んだ式を、ネストといいます。
 ネストを作ることで、excelの関数に当てはまらない式を作り上げることができます。
    • good
    • 0

 例えば、sheet!1のA1からA30の範囲に数値データがあるとします。


 別シートということなので、sheet!1以外のシートの任意のセルに、
=mode(Sheet1!A1:A30)と入力すると、sheet!1のA1からA30のデータのうち、同じ数値が最も多いものを返します。
 この関数は、最頻値(MODE)を返す関数として、数値データのうち最も多い数値を
返します。データ範囲がバラバラでも、任意の30範囲まで選択することができます。
 ただし、同じ数値の数が同数ある時には、選択範囲の同数の数値のうち、先頭に近い数値が選ばれてしまいます。範囲の全ての数が1つずつしかなければ、エラー値N/A!を返してしまいます。それが困る場合は、ネストをつくってエラー時の処理を行う必用があります。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。ちなみにネストってなんですか?

お礼日時:2002/03/05 18:46

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルのフリーズ

ノートパソコンでエクセル2003を使用しているとしょっちゅう画面がフリーズしてしまいます。
フリーズ時間は最大で5秒間程で、頻度は5秒~15秒くらいに一回とかなり頻繁です。(普通のA4サイズの書類を作るのに1時間ほど掛かります)
状態としてはフリーズ中はカーソルも止まってしまい、でもその間に入力した文字等は記憶しているらしく、フリーズが解けた瞬間一気に打ち出されるような感じです。
エクセル以外は何の問題もなく、またそのエクセルのファイルを同ネットワーク上にある他のパソコンで操作しても何の問題もないので、自分のパソコンの中のエクセル本体が壊れているかのような状態です。
どなたか助けていただけないでしょうか?
ちなみにこの現象は突然起きるようになりました。

Aベストアンサー

ソフトの不具合が原因です。再インストールをお勧めします。

Qエクセルで、検索し適合したセルと同行にある数値を数値の小さいものから順番に10個ほど別シートに表示させたいのですが。

例えば、シート1に項目Aに種別が複数記入され、
項目Bに種別に対応した規格が何種類か記載されています。
項目A,Bにはそれぞれ同じ種類のものが複数記入されていますが、
それをシート2で、あるセルに種別を記入してあり、
その種別ごとに、規格の数値を小さいものから順番に(同じ規格のものは表示しない)列方向に10個程度表示させたいのですがやりかたがわかりません。ご教授お願いします。

□シート1
    列1  列2
行1  種別  規格
行2   H  100
行3   H 200
行4   H  100
行5   H  350
行6   L  40
行7   L  60
行8   L  75
行9   L  60
行10  L  40
これをシート2で、
    列1  列2
行1  種別  H
行2  項目  規格
行3   1  100
行4   2  200
行5   3  350
行6
行7  種別  L
行8  項目  規格
行9   1  40
行10  2  60
行11  3  75

上記のようなものを作成したいのですが、
わかるかたがいれば項目の数がAND条件で複数ある場合の式も教えていただけないでしょうか?

例えば、シート1に項目Aに種別が複数記入され、
項目Bに種別に対応した規格が何種類か記載されています。
項目A,Bにはそれぞれ同じ種類のものが複数記入されていますが、
それをシート2で、あるセルに種別を記入してあり、
その種別ごとに、規格の数値を小さいものから順番に(同じ規格のものは表示しない)列方向に10個程度表示させたいのですがやりかたがわかりません。ご教授お願いします。

□シート1
    列1  列2
行1  種別  規格
行2   H  100
行3   H 200
行...続きを読む

Aベストアンサー

こんなのもあるかもしれません。
____A___B_
_1_種別__H_
_2_項目_規格_
_3___1__100_
_4___2__200_
_5___3__350_
_6___4___0_
_7_種別__L_
_8_項目_規格_
_9___1__40_
10___2__60_
11___3__75_
12___4___0_
13___5___0_

B3
=IF(B2=0,0,MIN(IF((シート1!A$2:A$10=B$1)*(シート1!B$2:B$10>N(B2)),シート1!B$2:B$10,"")))
Ctrl+Shift+Enter同時押し
下方向・↓B6まで
B9
=IF(B8=0,0,MIN(IF((シート1!A$2:A$10=B$7)*(シート1!B$2:B$10>N(B8)),シート1!B$2:B$10,"")))
Ctrl+Shift+Enter同時押し
下方向・↓B13まで


B1:B13選択
→条件付書式
→セルの値が 次の値に等しい 0
書式:フォント、白

またはツール
→オプション
→表示
→ゼロ値 のチェックをはずす

こんなのもあるかもしれません。
____A___B_
_1_種別__H_
_2_項目_規格_
_3___1__100_
_4___2__200_
_5___3__350_
_6___4___0_
_7_種別__L_
_8_項目_規格_
_9___1__40_
10___2__60_
11___3__75_
12___4___0_
13___5___0_

B3
=IF(B2=0,0,MIN(IF((シート1!A$2:A$10=B$1)*(シート1!B$2:B$10>N(B2)),シート1!B$2:B$10,"")))
Ctrl+Shift+Enter同時押し
下方向・↓B6まで
B9
=IF(B8=0,0,MIN(IF((シート1!A$2:A$10=B$7)*(シート1!B$2:B$10>...続きを読む

Qエクセルで画像を貼り付けるとフリーズしてしまう。

エクセルに画像を貼り付けるとパソコンがフリーズしてしまいます。何故でしょうか?解決方法を教えてください。

OSは、Windows2000です。
エクセルのバージョンは、2003。

Aベストアンサー

Win2000で198MBはちとキツイかな?
エクセルのバージョンが2003というのは、Office2003を入れていると思うのですが、他にアンチウィルス系も動いているのでしょうから、256MBは欲しいですね。

最近似たような質問があって、直接貼り付けるよりも問題のjpegをファイル保存しておき、エクセルの[挿入]→[オブジェクト]で実施したらどうかという回答があったばかりです。このときはワードでしたが、エクセルでもお試しみてはどうですか。

Qエクセルのセル1の指定のセルの数値を、別のシートのセルに追加記録していく方法

シート1のA1とA2に数値(任意)を入力します。

そして、シート1にあるボタン(決定ボタン的なものです。)を押すと、

シート2の
A1に”シート1のA1の数値”
A2に”シート1のA2の数値”

を記録し、シート1のA1とA2をクリアします。(数値を消去)

そして新たに、シート1のA1とA2に数値を入力し、
シート1のボタンを押すと

シート2のB1に”シート1のA1の数値”
シート2のB1に”シート1のA2の数値”

を記録といったように、横方向に自動で追加していきたいです。

 ※次はC1とC2です。

どなたかお分かりなられる方教えてください。
よろしくお願いします。

Aベストアンサー

時間の記録については、シート1のC4の欄に

=NOW()

と入力して、セルの書式設定で、表示形式を「時刻」の「13:30:55」等(質問者様のお好きな書式)に変えます。
その上で、先ほどのマクロの記述を下記のように書き換えます。

Sub Macro1()
Dim a1, a2
Dim time

Calculate
a1 = Range("C2").Value
a2 = Range("C3").Value
time = Range("C4")
Sheets("Sheet2").Select
Range("C5").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
ActiveCell.Offset(1, 0) = a2
ActiveCell.Offset(-1, 0) = time
Sheets("Sheet1").Select
Range("C2:C3").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
End Sub

先ほどの記述と変わった点がいくつかありますが、ひとつひとつについては説明しませんので、よく見てご確認ください。

これを実行すると、シート2のC4から右側にボタンを押した時刻が表示されますので、この部分のセル書式の表示設定も「時刻」の表示になるように変える必要があります。

時間の記録については、シート1のC4の欄に

=NOW()

と入力して、セルの書式設定で、表示形式を「時刻」の「13:30:55」等(質問者様のお好きな書式)に変えます。
その上で、先ほどのマクロの記述を下記のように書き換えます。

Sub Macro1()
Dim a1, a2
Dim time

Calculate
a1 = Range("C2").Value
a2 = Range("C3").Value
time = Range("C4")
Sheets("Sheet2").Select
Range("C5").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
Ac...続きを読む

Qエクセルがフリーズ

エクセルで通常の使い方をしているのに、突然マウスポインターがフリーズします
何回もあります。何が原因でしょうか?パソコンはNECのノートです。

Aベストアンサー

¥Windows¥TempフォルダにEXCEL使用に
テンポラリファイルが作成されてれば、
これを削除すると改善されるかも?

むやみに消すとまずいこともありますのでくれぐれも慎重に。

Qエクセルでシート1のセルに入力すると別シートのセルに表示させるには

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と打ち込めば、

SHEET2のA3のセルが対応されますが、

これではそのセルしか対応しません。

SHEET2の1行目に会員番号、住所から打ち込んだものは、

単純にSHEET1の表示させたいセルに[=SHEET2!○○]を打ち込めば、

それが対応されます。

ただSHEET2の2行目は空白ですので、新たに打ち込んで対応させようとしても出来ません。

毎度毎度SHEET1の表示させたセルに[=SHEET2!○○]をしていくのは大変です。

新規にリストを打ち込むたびにSHEET1の会員証に

表示させる方法はどういったものがあげられるのでしょうか?

或いは、SHEET1の会員証ベースに打ち込んでいくとSHEET2のリストに

自動的に登録される仕組みの方がやりやすいのでしょうか?

数式も教えていただければ大変有難いです。

アクセスの方がやりやすいかもしれませんが、

依頼した方のPCにはアクセスは入っていないですし、

私自身もアクセスはイマイチの部分があります。

エクセルのマクロなるものを使えません。

年始早々に使用したいとの事ですので、
なんとか仕上げてあげたいとは思います。
宜しくお願い致します。

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と...続きを読む

Aベストアンサー

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で00002と入力してその表示になっているので有ればそれは文字列として設定されていると思います、文字列の場合はSheet1の会員番号の呼び出しのMAX関数が働きません。


>OFFSETは基準の端から端までを考えなくても良いという事で、会員番号の最大値と最終行は等しいから、C2でも良いし、D2でも良いのでしょうか?
>OFFSETの行数設定で(A:A)ではおかしい事になるのでしょうか?

OFFSETで求めているのはVLOOKUP関数の検索範囲の右下のセル番地です
http://officetanaka.net/excel/function/function/offset.htm
OFFSETの図解説明のサイトです。

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で000...続きを読む

Qエクセルのフリーズとタスクマネージャーの無反応

エクセル使用時たびたびフリーズするので困っています。(多い時は1時間で3回)
質問集で同じような症状が無いか探したのですが、見つからないので質問いたします。

エクセル使用時、リボンやシート見出し、をクリックすると画面の半分が白くなりフリーズすることがあります。
「Alt] 「Ctrl] 「Delete」 を押しても無反応なので、強制終了をします。
再立ち上げ時、セーフモードを選択しても途中で停止してしまうので、通常モードで立ち上げています。(何も無い時はセーフモードで立ち上げることができます。)

1)フリーズの原因と対処法
2)「Alt] 「Ctrl] 「Delete」を押しても反応しない原因と対処法
3)そのあとの再起動時にセーフモードが途中で停止してしまう原因と対処法
分かる方がおられましたら、お教え下さい。

OSはwindows7、office2007
エクセルのサイズは33KBから188KBです。

初めて質問しますので抜けているところがあれば追加します。
よろしくお願いします。

Aベストアンサー

そうですね。。
エクセルの再インストールは、やってみましたか?

Qあるシートのあるセルに文字列を入力したときに、別のシートの指定したセルにチェックをいれるには

あるシートのセルに日付が入力(1/5など)されると、
別のシートの指定したセルに「-」から「○」がつくようにしたいのですが、
どのような関数を使用して、どんな数式になるのか分かりません。
どなたかご存知であれば教えてください。

Aベストアンサー

今晩は。
難しい関数など必要ありません。
例、シート1のA1セルに日付(文字列でも良いです)を入力して、シー
ト2のA1セルに「○」を表示します。
シート2のA1セルに下記関数を入力
『=IF(Sheet1!A1="","―","○"』
これは、シート1のA1セルに数値とか文字が入ればシート2のA1セルに
「○」を表示する単純な数式です。
要は、シート1の指定されたセルが空白か、何かデーターが入力されて
いるかで、マークを換えるだけです。
シート2の数式を他のセルにコピーしておけば、常に「―」が表示され
ています。
趣旨と違っていたらすいません!

Qエクセルのカメラの使用時のフリーズ

こんばんは。以前、エクセル2000の不具合という内容でノートPCの欄に質問させていただきましたものですが、明確な原因がわかりましたので再度質問させていただきます。
これは会社のノートパソコン(WIN2K)でエクセル使用時にツールバーにある「カメラ」機能を使うとにフリーズしたり、数字等を入力してエンターキーを押すと12~30秒くらい時間が固まってしまう状況に陥ってしまうため困っています。
カメラで指定範囲を選択して、別の場所に貼り付けるのであくまで画像データとして取り扱われる関係でデータ量が多くなってしまうとは考えられますが、100KBほどのデータでもフリーズ状況に陥ってしまいます。
ちなみに、フリーズ状態の時のCPU使用率はずっと100%となっています。メモリーは256MBで余裕のある環境にあります。このカメラで貼り付けたデータを削除するとスムースに動く様になります。またカメラで貼り付けたエクセルファイルを開いたまま、別のカメラを使用していないエクセルファイルを使用しても、影響が及んでしまいます。
しかし、同じカメラ機能を使ったエクセルファイルを別のパソコンで開くと多少時間はかかりますが、5秒もかからないくらいで動きます。何かカメラの設定などが悪いのでしょうか?エクセルの再インストールと*.xlbファイルの削除は実行しました。長々となってしまいましたが、よろしくお願いします。

こんばんは。以前、エクセル2000の不具合という内容でノートPCの欄に質問させていただきましたものですが、明確な原因がわかりましたので再度質問させていただきます。
これは会社のノートパソコン(WIN2K)でエクセル使用時にツールバーにある「カメラ」機能を使うとにフリーズしたり、数字等を入力してエンターキーを押すと12~30秒くらい時間が固まってしまう状況に陥ってしまうため困っています。
カメラで指定範囲を選択して、別の場所に貼り付けるのであくまで画像データとして取り扱われる関係でデータ量...続きを読む

Aベストアンサー

私は、[カメラ]機能を比較的多用するので、どんな回答が付くか静観していましたが…

「メモリーは256MB」が「余裕のある環境」かどうかは分かりませんが、仰っているような現象を経験したことがありません(昔に Win2000、Excel2000 を使っていたことがありましたが、メモリサイズがどうだったかは忘れました)。
ところで、「100KBほどのデータでもフリーズ状況に陥ってしまいます」とのことですが、この「100KBほどのデータ」というのはどうやって分かったのですか?

Q複数のセルすべてに数値が入れば別セルに1と入力

エクセルについて
例えば、A1とA2とA3とA4のすべてに数値が入れば、B1に1としたい。
上記Aセルにひとつでも空白があれば、B1も空白としたいのです。
宜しくお願いいたします。

Aベストアンサー

>すべてに数値が入れば、B1に1としたい。
>上記Aセルにひとつでも空白があれば、B1も空白としたいのです。
条件が不十分です。
それらのセルに文字列が入った場合はどうなるのでしょう?

「空白以外なら」と「何かが入力されていれば」とは別物です。
また、「空白」と「数式によって""が入力されているため何も表示されない」もこの先別物になりますので質問文内に記述したほうがいいでしょう。

そのうちの「すべてが空白なら」で条件分岐すると
B1=IF(COUNT(A1:A4)<>0,"",1)
でできるでしょう。

ただし、指定範囲に数式が入っていて、その数式の結果が「""」の場合は、空白とみなしてくれません。
その場合は
B1={IF(SUM(LEN(A1:A4))<>0,"",1)}
という配列数式でできるでしょう。


人気Q&Aランキング