【無料配信♪】Renta !全タテコミ作品第1話

EXCEL2003で作った英単語と意味のデータを番号1~50までと指定した範囲をランダムで20問選んで、印刷したいんですけど、どうやったらいいか教えて下さい。
毎回手作業でやらずに自動化して、Wordの文書に貼り付けしたいんですが、出来ますか?教えて下さい。よろしくお願いします。

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

A 回答 (6件)

こんにちは。

Wendy02です。

最初に、

お礼側と補足側の書き込む順序は、逆にしてくださいね。
補足側では、こちらに連絡が来ないので、見過ごしてしまうことがあります。お礼側に入れると、こちらも安心してしまうし、だいたい、ここのカテゴリの2割ぐらいの質問者さんは、そのままになってしまいますので、私などでも、ある程度は、見切ってしまいます。

ただし、私の場合は、一応、気になるもので、閉められていないものは、期間を3ヶ月に区切って、こちらではすべてチェックしています。

今回は、大丈夫ですが、あまり間を明けるような場合は、お礼側に入れれば、相手は、それなりの反応を示します。

>Eの列が全て0になっており、
まず、一番、可能性があるのは、F列で、範囲を指定していないことですね。
全体数以内なら、範囲を決めて入力してください。
例:F1: 10, F2: 40
何も入れていないと、E列は、すべて0になり、後G列以降の項目は表示しません。
    • good
    • 1
この回答へのお礼

すいません。お礼と補足の違いをあまり分かりませんでした。たしかに範囲指定してなかったです。範囲指定すると無事出来ました。今回は何度も申し訳ありませんでした。Wendy02さんのおかげで、単語テストを作るのが、かなり短縮されたので、とても感謝しています。ありがとうございました。

お礼日時:2007/02/17 22:49

こんにちは。

#2のWendy02です。

>抽出した英単語と訳語が一致しないのですが、二つを一致することは可能でしょうか?

テスト問題だから、英単語と訳が別々になるのではなかったのでしょうか?
わざと、バラバラになるようにしたのです。それで、線を引いて、一致させるという方法で、これは良い!と思ったのですが……。残念です。(というか、もし、訳語が並べ替えせずに済むなら、すでに、そういうソフトウェアがあると思います。最初、私は、VBAで作っていたのですが、良いものがあるので、開発はやめてしまいました。"P-Study" というソフトです。個人でお使いになる分には、フリーソフトウェアです。)

今度は、VLOOKUPを使います。

A列は、1~50 まで番号が振ってあります。
B列は、英単語が、B1~B50があり、
C列は、訳が、C1~C50まであります。

D列は、同じく
D1からD50まで
=RAND()

E列は、
E1から、E50 まで、
=IF(AND(RANK(D1,$D$1:$D$50)>=$F$1,RANK(D1,$D$1:$D$50)<=$F$2),RANK(D1,$D$1:$D$50),0)

F列に、[単語番号の範囲]を入れます。
仮に、ここでは、
F1 20
F2 40

G列は、
G1から、G50まで、
=IF((ROWS($E$1:$E$50)-COUNTIF($E$1:$E$50,0))>=ROW(A1),INDEX($E$1:$E$50,SMALL(INDEX(($E$1:$E$50<>0)*ROW($E$1:$E$50),,),COUNTIF($E$1:$E$50,0)+ROW(A1)),1),"")

-------------------------------------------------------
出力部分

H列
H1:~
=IF(ISNUMBER(G1),VLOOKUP(G1,$A$1:$C$50,2),"")

I列
I1:~
=IF(ISNUMBER(G1),VLOOKUP(G1,$A$1:$C$50,3),"")

----------------------------------------------------------
完成図(Alc-SVL 11+英辞郎+P-DICによる)

 G  H        I
10  alumnus  【名】男子の卒業生,同窓生
30  bastion  【名】(城の)稜堡
27  backlash  【名】反発,反動
19  archipelago 【名】群島,列島
21  aspen    【名】<植>アスペン
23  aura    【名】オーラ,独特の雰囲気


なお、入力の式が入れ終わってから、挿入やレイアウトを整えるとよいです。そのほうが分かりやすいかと思います。
もし、別のシートに[出力部分]を移動する場合は、
範囲を選択して、Alt キーを押しながら、ドラッグすると、シートタブが選択できますので、それで、別のシートに数式を壊さずに移動が可能です。計算部分は、どれほど汚くても、出力部分さえ、きれいで出せればよいので、上手に作れば、Wordでなくてもよいかもしれません。

なお、これは、私が、数年してきたことの延長上にありますので、お答えさせていただきました。

この回答への補足

この方法を書いていただいた式通りに試して、入力したんですが、訳語と単語が出てきません。Eの列が全て0になっており、G列H列I列は関数を入れても何も表示されません。解決方法を教えてクダサイ。よろしくお願いします。当方で何度か試行錯誤したんですが、関数が全然分からないため、解決できませんでsぢた。よろしくお願いします。

補足日時:2007/02/16 17:16
    • good
    • 1
この回答へのお礼

詳しい回答ありがとうございます。単語テストを作成すると同時に解答も作りたかったので、大変満足しています。前に回答していただいたものは、線を引いて、一致させる問題が出来るんですね。そのような使い方を想定していなかったんですが、便利なので、つかわさせていもらいます。

現在大学生で、個別指導の学習塾にて、バイトで教えているんですが、これはかなり活用できそうです。回答していただきありがとうございました。

お礼日時:2007/02/16 13:35

> もし可能でしたら一致するようにしていただけたら幸いです。


これは、「丸投げ依頼」ともとれる文言ですね。
「Vlookupを使えば可能です。」とだけお答えしておきましょう。
    • good
    • 0

>あと1~50だけでなく、20~40など任意に設定を変えることは簡単に出来ないでしょうか?


RANDBETWEEN()関数を使えば指定した数字の範囲内での乱数を得ることができます。
    • good
    • 1

こんばんは。



私自身、うまくいくとは思わなかったです。
本来は、全部自動化というのは、マクロのことでしょうけれども、全体のお話の状況からすると、とても、掲示板で、個人のために無償で作成という範囲は超えてしまうように思います。(一応、製作依頼というのは、ここでは禁止されております。)

もちろん、ご質問者さんが取り掛かっているという問題で、回答者が、アドバイスをするというのは別ですが。

今回は、設問が前にやったものが出てくるという問題は、抜きにしてあります。

まず、都合、便宜的なタイトル行は、なしにしてありますので、1行目からです。
(私の使っている単語帳の一部から抽出しましたが、これは、Alc のSVL ランク11 と、P-DIC+英辞郎により作られたものです。)

  A      B
abiding    不変の
accomplice  共犯(者),従犯者
acronym    頭字語,頭文字
affable    愛想の良い
aggrieved   法的に侵害を受けた,虐げられた
50行まで

C1: 乱数を発生しています。
=RAND()

これを下にコピー(C50 まで)

※なお、一回きりなら、このRAND()の数式を範囲をコピーして、右クリック-形式を選択して貼り付け-値にすると、後は、動くことはありません。

D1: 順位が重なることは、ほぼ皆無です。
=RANK(C1,$C$1:$C$50)

これを下にコピー(D50 まで)

E1:
=INT(RAND()*10^2)*10^2+D1

これを下にコピー(E20まで)

F1:
=RIGHT(SMALL($E$1:$E$20,ROW(A1)),2)*1

これを下にコピー(F20まで)

----------------------------------------------
この抽出場所は、別の印刷用のシートに移してもよいと思います。
----------------------------------------------

G1:英単語
=INDEX($A$1:$A$50,D1,1)

これを下にコピー(G20まで)

F1:訳語
=INDEX($B$1:$B$50,F1,1)

これを下にコピー(F20まで)

----------------------------------------------

>それをすべて自動化してWordで作ったテンプレート(単語テスト解答用紙)に貼り付けたいんですが、どのようにしたらいいでしょうか?

Word側は、EXCELのオブジェクトを貼り付けるようにすればよいのかと思います。フィールドや差込印刷ですと、きれいにはいくのですが、Word自体を不安定にするのと、作業が複雑になります。オブジェクトの場合は、どの程度、レイアウトに収まるのかは、あまり確約出来ません。

とりあえずは、EXCELまでの完成とします。

この回答への補足

回答ありがとうございます。やはり全自動化は難しいですか。EXCELの部分試させてもらったのですが、思っていたどおりのデータ抽出が出来て満足しています。抽出した英単語と訳語が一致しないのですが、二つを一致することは可能でしょうか?もし可能でしたら一致するようにしていただけたら幸いです。よろしくお願いします。

補足日時:2007/02/16 01:54
    • good
    • 0
この回答へのお礼

教えていただき、ありがとうございます。あと1~50だけでなく、20
~40など任意に設定を変えることは簡単に出来ないでしょうか?
単語テストを作成する際に、単語番号を指定してテストを実施しているので、それが簡単に出来ると有難いです。何度も質問して申し訳ないですが、よろしくおねがいします。

お礼日時:2007/02/16 02:58

例えばこんな方法はいかがでしょうか


空いた列に
=ROUND(RAND()*100,0)
と入れて、50行目までコピー(0から100までの乱数を発生させています)
これをソートして、上位(下位)20番目までを選択
ただし、「ツール」「オプション」で「計算方法」を「手動」に設定しておいて下さい。(再計算させる時はF9を押します)

この回答への補足

回答ありがとうございます。ROUND関数とVLOOKUP関数を使えば出来ると教えていただいたのですが、それをすべて自動化してWordで作ったテンプレート(単語テスト解答用紙)に貼り付けたいんですが、どのようにしたらいいでしょうか?乱数を発生させた後のソートから上位20位まで抽出と別のシートに抽出結果を貼り付けまで(出来ればWordに貼り付け)を全部自動化したいのですが可能でしょうか?教えてください。よろしくお願いします。

補足日時:2007/02/16 00:42
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qexcelで単語テストを作りたい

 PCにexcelが入っているものの全く使ったことのない初心者です。自分用に、手早く英単語の暗記テストを作りたいのですが、効率よく作れる方法、またはテンプレート等がありましたら紹介していただけると助かります。もちろん回答欄で答えられる内容ではないと思うので、参考URLを張っていただけるだけでかまいません。

※単語テストは英単語をみて、よこに日本語訳を書くだけのいたってシンプルなものです。 
       英語       日本語
     1 admit      認める
     2 realize       悟る

のような感じです。よろしくお願いします。

Aベストアンサー

こんにちは。

Excelで作るというのは、なかなか大変です。私も作ったことがあります。

前回、同じような質問をされた方がいますが、あくまでも、ご自身で作るという方針でしたので、私のアドバイスは受け入れてくれませんでした。趣味でもなければ、そのための時間を使うのはもったいないです。高校卒業レベルで4,000語、大学受験で、あと2,000語程度は必要です。

私は、P-Study(フリーウェア)というものをお勧めします。私は、5~6年使っているものです。
いろいろ比較して、これが良いと思いました。Excelでは、SVC を使って、P-Study にインポートします。それと、なるべく例文を加えたほうがよいですね。英語--日本語 は一対一ではありませんから、日本語側の単語を多くしてイメージを作りやすくさせたほうがよいです。

目的が違いましたら、無視してください。

参考URL:http://www.takke.jp/

Q▲特定のセルからランダムに抽出しテストを作成▲

いつもお世話になっております。
エクセルのVBAについて教えて頂きたく書き込みいたします。
日本語が意味不明であれば、より詳しく記載しますのでご教授願います。

1つのエクセルの中に4つのシートがあります。
【Top(sheet1)、問題(sheet2)、初級(sheet3)、中級(sheet4)、上級(sheet5)】

Topにはスタートボタンがあり、クリックすることにより問題シートへと移動し、別シートより問題を抽出したいです。

問題シート内のC3~C17に問題が、D3~D17に(問題に付随した)ヒントが
ランダムに抽出されるようにマクロを作成したいです。

また問題、ヒント、答えは初級、中級、上級、それぞれのシートに(20問ずつぐらい)記載をしています。
初級から10問、中級から3問、上級から2問と抽出をしたいです。
答えに回答を入力することにより正解であればセルが青く、間違えであればセルが赤くなるようにしたいです。

簡易ではありますが、エクセルの画像も添付させてもらいます。
恐れ入りますがご教授願います。

Aベストアンサー

こんばんは!
面白そうなのでトライしてみました。

Sheet6を作業用のSheetとして追加・使用するようにしていますので、
Book上にはお示しの5つのSheetが存在しているという前提です。
尚、各Sheetともお示しの配置通りとします。

ます「TOP」Sheetにコマンドボタンを挿入 → コマンドボタンのコードを↓にしてみてください。

Private Sub CommandButton1_Click()
Worksheets("問題").Select
Worksheets("問題").Range("E3:E17").Interior.ColorIndex = xlNone
Call Sample1
End Sub

次にAlt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペーストしてください。

Sub Sample1() 'この行から
Dim i As Long, lastRow As Long, c As Range
Dim wS2 As Worksheet, wS3 As Worksheet, wS4 As Worksheet, wS5 As Worksheet, wS6 As Worksheet
Set wS2 = Worksheets("問題")
Set wS3 = Worksheets("初級")
Set wS4 = Worksheets("中級")
Set wS5 = Worksheets("上級")
Application.ScreenUpdating = False
If Worksheets.Count <> 6 Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
End If
Set wS6 = Worksheets(Worksheets.Count)
wS6.Visible = xlSheetHidden
wS6.Range("A:C").Clear
wS2.Range("C3:E17").ClearContents
With wS3
lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
.Range("E:F").Insert
Range(.Cells(2, "E"), .Cells(lastRow, "E")).Formula = "=RAND()"
Range(.Cells(2, "F"), .Cells(lastRow, "F")).Formula = "=RANK(E2,E:E)"
For i = 1 To 10
Set c = .Range("F:F").Find(what:=i, LookIn:=xlValues, lookat:=xlWhole)
c.Offset(, -4).Resize(, 3).Copy
wS6.Activate
ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
.Range("E:F").Delete
End With
With wS4
.Range("E:F").Insert
lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
Range(.Cells(2, "E"), .Cells(lastRow, "E")).Formula = "=RAND()"
Range(.Cells(2, "F"), .Cells(lastRow, "F")).Formula = "=RANK(E2,E:E)"
For i = 1 To 3
Set c = .Range("F:F").Find(what:=i, LookIn:=xlValues, lookat:=xlWhole)
c.Offset(, -4).Resize(, 3).Copy
wS6.Activate
ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
.Range("E:F").Delete
End With
With wS5
.Range("E:F").Insert
lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
Range(.Cells(2, "E"), .Cells(lastRow, "E")).Formula = "=RAND()"
Range(.Cells(2, "F"), .Cells(lastRow, "F")).Formula = "=RANK(E2,E:E)"
For i = 1 To 2
Set c = .Range("F:F").Find(what:=i, LookIn:=xlValues, lookat:=xlWhole)
c.Offset(, -4).Resize(, 3).Copy
wS6.Activate
ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
.Range("E:F").Delete
End With
wS6.Range("A2:B16").Copy
wS2.Activate
ActiveSheet.Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues
wS2.Columns.AutoFit
wS2.Range("E3").Select
Application.ScreenUpdating = True
End Sub 'この行まで

最後に「問題」SheetのSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻り「TOP」Sheetのコマンドボタンをクリックし
「問題」SheetのE列に答えを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim c As Range
If Intersect(Target, Range("E3:E17")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Worksheets(6)
If Target <> "" Then
Set c = .Range("A:A").Find(what:=Target.Offset(, -2), LookIn:=xlValues, lookat:=xlWhole)
If Target = c.Offset(, 2) Then
Target.Interior.ColorIndex = 8 '←水色
Else
Target.Interior.ColorIndex = 3
End If
Else
Target.Interior.ColorIndex = xlNone
End If
End With
End Sub 'この行まで

※ 通常の青だと字が見えにくいので「水色」にしています。m(_ _)m

こんばんは!
面白そうなのでトライしてみました。

Sheet6を作業用のSheetとして追加・使用するようにしていますので、
Book上にはお示しの5つのSheetが存在しているという前提です。
尚、各Sheetともお示しの配置通りとします。

ます「TOP」Sheetにコマンドボタンを挿入 → コマンドボタンのコードを↓にしてみてください。

Private Sub CommandButton1_Click()
Worksheets("問題").Select
Worksheets("問題").Range("E3:E17").Interior.ColorIndex = xlNone
Call Sample1
End Sub

次にAlt+F11キ...続きを読む

Qエクセル指定した範囲からランダムで一つ抽出

エクセルの関数についての質問なのですが、

B1~B5に値がならんでいたとして、B1~B5の中からランダムに一つ抽出したものをA3に表示する関数はありますか?

Aベストアンサー

A3に次の式を入力すればよいでしょう。

=INDEX(B1:B5,RANDBETWEEN(1,5))

QExcel等MSOfficeソフトでの単語テスト作成について

当方現在大学生です。
大学でいくつか外国語を学んでいるのですが、その外国語をExcelに入力して印刷し、単語帳のようにして使用していました。

最近このデータを利用できないか思い、いろいろなフリーソフトをダウンロードして単語テストができないか?と思い試してみましたが、これだとおもうものが見つかりませんでした。
(ちなみにここでいう単語テストはプリントとして印刷するものではなく、パソコンで入力して正誤判定ができるもののことです。)

そこで質問・お願いなのですが、
(1)上のような単語テストを作るには、MS-OfficeのソフトではやはりExcelがいいでしょうか?
(2)Excelや他のMS-Officeのソフトでマクロ等を用いて上のような単語テストをつくるのに参考となる書籍・Webサイトを教えてください。
(3)Excelで単語帳を作成する上でためになるテクニックなどはありますか。(単語の入力の省略などはNGです。)

以下、補足ですが
・発音機能は不要
・ランダムで問題を選択して出題する機能
・間違えた問題だけを集計する機能
・英語専用ではない
というのが望ましい条件です。

長文失礼しますが、よろしくお願いします。

当方現在大学生です。
大学でいくつか外国語を学んでいるのですが、その外国語をExcelに入力して印刷し、単語帳のようにして使用していました。

最近このデータを利用できないか思い、いろいろなフリーソフトをダウンロードして単語テストができないか?と思い試してみましたが、これだとおもうものが見つかりませんでした。
(ちなみにここでいう単語テストはプリントとして印刷するものではなく、パソコンで入力して正誤判定ができるもののことです。)

そこで質問・お願いなのですが、
(1)上のような...続きを読む

Aベストアンサー

こんにちは。

>すでに入力しているデータ(イタリア語1000語、ドイツ語500語ほど)を有効に活用できない、という欠点があるので使いませんでした。

私自身、いくつかのデータを使ってみてみましたが、どれもこれも、今ひとつなんですね。それらは、ユーザー個人の人が作ったものだということで、他人の覚え方とは違うということなんだろうと思います。私は、必ず、和英の場合は、同意語を考えます。

作るには手間が掛かります。そして単語を覚えながら、また途中で調整していくのです。同意語をヒントに入れていきます。似たような言葉とかを考えます。

昨日、そのサイトで読んでみると、作者さんは、分かりきっているつもりでも、ユーザー側からは使いにくいというクレームもあったそうです。私は、かれこれ、7年使っているから分かるものもあります。内容的に、必ずしも易しいとは思いません。それに、最初から、あまりサポートは良かったようではありません。今どきは、日本の個人の開発者はみんな同じですが、昔、作者にメールしたら文句言われました。海外の場合は、サポートのある・なしは、はっきり分かれます。

>.csv形式に変換したら日本語訳が全て飛んでしまったので・・・。

私が最初に使っていたころと、CSV部分は変わっていないです。あまり使いづらいので、Unicode仕様のCSV出力マクロをそこで供給しようと思ったこともあるぐらいですが、こちらは、不特定の人のサポートするのが嫌で辞めました。確かに、CSVについては、分かりにくいです。

http://www.takke.jp/wiki/index.php?PSS%2FCSV%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%BB%C5%CD%CD#content_1_7

サンプルCSVが、C:\Program Files\PSS7\data\sample.csv にあったはずですが、分かりにくいと思います。

記憶力に自信があれば別ですが、私の場合は、単語数は、1,000個では、逆に効率が悪いような気がします。私は、ワン・ロールは、単語300個ぐらいです。年齢が上がるにつれて、悔しいですが、はっきり覚えが落ちていますが、このワン・ロールは変えていません。10回でよかったものが、14~5回に上がっているようです。

添付の画像は、インポート用の生のCSV の内容です。この後、修正を加えます。

これは、昔作った、ランダム並べ替えのマクロです。しかし、P-Study の中にランダムの選択が可能です。画像のようなアルファベット順になっていないなら、なるべく並べ替えはしないほうが良いと思います。似た意味に並べるのが理想かもしれませんが、それは手が掛かります。中には、上手く並んでいるものもあります。

データは、A5~ A列に書き出します。

'-------------------------------------------
Sub myRandomsort()
'乱数-並び替え
  Dim Lb As Long
  Dim Ub As Long
  Dim i As Long
  Dim j As Long
  Dim N As Long
  Dim t As Variant
  Dim WshShell As Object
'データのチェック
   N = Range("a5").CurrentRegion.Columns(1).Cells.Count - 4
   If N < 2 Then
     MsgBox "並び替えるデータが見当たりません。終了します", vbExclamation
     Exit Sub
   End If
   ReDim a(1 To N)
   For i = 1 To N
     a(i) = i
   Next i
'乱数発生
   Randomize
   For i = N To 2 Step -1
     j = Int((i - 1) * Rnd + 1)
     t = a(i)
     a(i) = a(j)
     a(j) = t
   Next i
'バックデータとしてコピー
   Range("A5:h" & N + 4).Copy Destination:=Sheet3.Range("a1")
'乱数による出力
   For i = 1 To N
     Cells(i + 4, 1).Resize(, 5) = Sheet3.Cells(a(i), _
     1).Resize(, 5).Value
   Next i
'カスタムプロパティに記録(中止)
'   ThisWorkbook.CustomDocumentProperties.Add Name:="LastNo", _
'   LinkToContent:=False, Type:=msoPropertyTypeNumber, Value:=N
'コピーデータのデータ削除
  With Sheet3
   .Range(.Cells(1, 1), .Cells(N, 8)).Clear
  End With
  Set WshShell = CreateObject("WScript.Shell")
  WshShell.Popup "並び替えが終了しました。", 1
  Set WshShell = Nothing
End Sub
'-------------------------------------------

こんにちは。

>すでに入力しているデータ(イタリア語1000語、ドイツ語500語ほど)を有効に活用できない、という欠点があるので使いませんでした。

私自身、いくつかのデータを使ってみてみましたが、どれもこれも、今ひとつなんですね。それらは、ユーザー個人の人が作ったものだということで、他人の覚え方とは違うということなんだろうと思います。私は、必ず、和英の場合は、同意語を考えます。

作るには手間が掛かります。そして単語を覚えながら、また途中で調整していくのです。同意語をヒント...続きを読む

QExcelで事前にセルに入力した言葉をランダムに表示

例えばA1に「いぬ」 A2に「ねこ」 A3に「ぞう」 A4に「たぬき」 A5に「きつね」と入力します
次に
B1~B10に 「いぬ」「ねこ」「ぞう」「たぬき」「きつね」のいずれかを自動にランダムに表示する方法を教えてください
こんな便利な機能があれば良いと思うのですが・・・

Aベストアンサー

=INDIRECT("A"&INT(RAND()/0.2)+1)

INT(RAND()/0.2)+1 で1~5までの整数が得られます。
INT(RAND()/0.1)+1 で1~10までの整数が得られます。
INT(RAND()/0.02)+1 で1~50までの整数が得られます。
INT(RAND()/0.01)+1 で1~100までの整数が得られます。

それでA1からA5、A1からA10、A1~A50、A1~A100のセルの内容を取得しています。A2からなら+2にしてください。
F9キーを押すたびに再計算されて、表示も変わります。

Qエクセル関数を使って、ランダム抽出をしたいです

エクセル関数を使って、ランダム抽出をしたいのですが
どの関数を使用すればいいのかわからないのです。

現在、1つのシートにいろいろなデータが入っているのですが、
D列のデータを使い、そのデータをランダムに25件抽出したいのです。

よろしくお願い致します。

Aベストアンサー

Sheet1にデータが入っているとして、そのD列のデータをSheet2のA列に取り出して操作をすることにします。
関数で取り出すのでしたらSheet2のA1セルに次の式を入力し下方にオートフィルドラッグします。
=Sheet1!D1
B1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RAND())
C1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RANK(B1,B:B))
D1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(OR(COUNTIF(C:C,ROW(A1))=0,ROW(A1)>25),"",INDIRECT("A"&MATCH(ROW(A1),C:C,0)))
これでSheet2のD列にはランダムに抽出されたデータが並ぶことになります。
なお、F9のキーを押すことで抽出操作を繰り返すことができます。

Qエクセル 表を大きく、紙いっぱいに印刷したい

エクセルで表を作りました。
印刷プレビューで確認したところ
用紙に対して表が小さく見栄えがしません。

一つ一ついじればできると思いますが、
簡単に、
用紙いっぱいにフォントも大きくし、表も大きくし、
印刷するやり方はありますか。
教えてください。

Aベストアンサー

CtrlキーとPのキーを同時に押すと「印刷」ダイアログが呼び出せます。その状態でAltキーとWのキーを同時に押すと「印刷プレビュー」が表示されますので、印刷のイメージがつかめます(必ずしもプレビュー通りには印刷されませんが)
印刷プレビュー画面の上にある、設定のボタンを押してあげれば、余白を少なくしたり、拡大縮小印刷をパーセンテージを指定しておこなえたりします。いずれにせよ、プレビューで確認しながら拡大率を決めていけばいいと思います。なお、「拡大縮小印刷」のところに「次のページ数に合わせて印刷をする」というチェックをいれて横1×縦1にしてあげれば自動で拡大縮小印刷ができる場合がありますが、やってみればわかりますが、特に縮小印刷の場合小さくなりすぎたりする場合もあります。

QWORD or Excelで高校のテストの解答用紙を作成

高校のテストの解答用紙を作成したいのですが、Wordで罫線を使ってしようにも、マニュアルなので枠の幅が違ったりでうまく作れません。
また作成に時間がかかりすぎるような気がします。
教科は国語です。

現役の先生方はどのように作成されているのでしょうか?

Aベストアンサー

先生ではありませんが、
罫線や枠を多用するときはExcel の方が簡単に出来ると思います。
横幅や縦幅も容易に変えることができ、縦位置も揃って気持ちよく仕上がります。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q表(リスト)からランダムに抽出するには?

Excelで次のような表を作りました。(例として書きます)

1. みかん
2. バナナ
3. もも
4. なし
5. 栗   ・・・(以下同様) と続いていきます。

今回、その表から、ランダムにデータを抽出し、別のセルに書き出したいのですがどうやっていいのかわかりません。(理想図を下に書きます。)


2. バナナ
5. 栗
1. みかん  ・・・・・(以下同様)

このようにして、今ある表から、ランダムに並び替えた、 『新たな表』 を作りたいのです。

どのように関数(RAND関数?)を設定したらいいのかよくわかりません。 教えてください。お願いします。

ちなみにOffice2000です。

Aベストアンサー

こんにちは。maruru01です。

作業列を1列だけ使用した、絶対に重複しない数式での方法です。
元データがA1:B5で、C列を作業列に使用して、D:E列に表示するとします。
まず、C1に、

=INT(RAND()*5+1)

と入力します。次に、C2に、

=LARGE(INDEX(NOT(COUNTIF($C$1:C1,ROW($A$1:$A$5)))*ROW($A$1:$A$5),),INT(RAND()*(5-ROW(C1))+1))

と入力して、C5までコピーします。
そうしたら、D1に、

=INDEX(A:A,$C1)

と入力して、E1にコピー。
さらに、D1:E1を5行目までコピー。

やはり、[F9]を押すたびごとに並べ替えられます。


このカテゴリの人気Q&Aランキング