エクセル関数です(T-T)
指定のセルからランダムで重複しない文字を抽出したいです。。。
たとえばA1のセルからA10まで単語が入っているとします。
それをC1のセルに、A1からA10の中から、ランダムで1つ抽出したいです。
ただし。。
条件としては、、
F9を押したときランダム抽出されるが、F9を何度も押して再計算しても重複せずに、A1~A10のなかの文字をランダムで出て来て、1周まわるようにしてほしいです。
つまり10回再計算したらA1~A10の文字を全て出たことになり、1周まわり、次、11回目から20回目までランダムで重複せずに抽出してくれて2周目になるような、、、
再計算で重複しないで、またランダムで抽出してくれるよう関数は無いでしょうか(T-T)??
ご回答お願い致します、、、
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ユーザー定義関数で実装してみました。
C1セルに、次の数式を入力して使います。【C1セル】=getrand(A1:A10)
ちなみに、この関数は各周内では重複することは無いのですが、1周目の途中から2周目の途中までをウォッチすると当然、重複が起こりえます。
例えば、1周目(1,2,3,4)、2周目(4,3,2,1)の場合、3回目~6回目を見た時、4が重複して出現しているように見えます。
【ユーザ定義関数】
Option Explicit
Dim strRandam As Variant
Function GetRand(myRng As Range) As Variant
Dim a As Variant
Dim i As Long
Dim j As Long
Dim s As Variant
Application.Volatile
If strRandam = "" Then
For i = 1 To myRng.Count
a = a & " " & i
Next i
a = Split(WorksheetFunction.Trim(a), " ")
For i = 0 To UBound(a)
j = WorksheetFunction.RandBetween(0, UBound(a))
s = a(i)
a(i) = a(j)
a(j) = s
Next i
Else
a = Split(strRandam, " ")
End If
GetRand = myRng(a(0)).Value
a(0) = ""
strRandam = WorksheetFunction.Trim(Join(a, " "))
End Function
No.2
- 回答日時:
こんにちは!
単にランダムに表示させるのであれば簡単ですが、
>A1~A10のなかの文字をランダムで出て来て、1周まわるようにしてほしいです。
となると関数では難しいように思われます。
そこでVBAになりますが一例です。
C1セルをダブルクリックするたびにC1セルに表示させる方法にしてみました。
画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)C1セルをダブルクリックしてみてください。
尚、E列を作業用の列として使用していますので、目障りであれば非表示にしてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) '//この行から//
Dim i As Long
If Target.Address = "$C$1" Then
Cancel = True
If Cells(Rows.Count, "E").End(xlUp).Row = 11 Then
Range("E:E").ClearContents
End If
Do
i = Int(10 * Rnd + 1)
Loop Until WorksheetFunction.CountIf(Range("E:E"), i) = 0
Target = Cells(i, "A")
Cells(Rows.Count, "E").End(xlUp).Offset(1) = i
End If
End Sub '//この行まで//
※ これで何とかお望みどおりの動きにならないでしょうか?m(_ _)m
No.1
- 回答日時:
>再計算で重複しないで、またランダムで抽出してくれるよう関数は無いでしょうか(T-T)??
んな関数ありません。(`・ω・´)キッパリ
いくつかの関数を組み合わせて工夫してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 選挙はランダム投票でするべきだろう。 ランダム投票とは、国民から無作為に投票者を抽出する投票制度。 4 2022/06/24 17:09
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- 数学 数字が出そろうのは、何回目ですか。 11 2023/04/21 20:29
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelはなんで先頭の0を消すん...
-
Excel元に戻す方法を教えてくだ...
-
【Microsoft Office Excel Comp...
-
Excelが固まってしまった。
-
西暦や和暦の表示をyyyymmdd表...
-
Excel 2019 のピボットテーブル...
-
【関数】スペースがいくつ入っ...
-
【Excel】セル内の時間帯が特定...
-
excelの不要な行の削除ができな...
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excelのセルを飛ばして入力する
-
Excel初心者です。 詳しい方、...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
【マクロ】エクセルにかいてあ...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシート クエリ関数 1...
-
エクセルで指定した日付、店舗...
-
Excelのグラフ軸について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報