[[20121126205247]] 『複数因子を網羅した全パターンを作成したいのです』(腹ペコ。) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数因子を網羅した全パターンを作成したいのです。』(腹ペコ。)
 こんばんわ。 困っています。。。。
 以下のような複数の因子の全パターンを作成したいのですが(日本語が。。)
 例
 A列	B列	C列	D列	E列
 おじいさん	山に	芝刈りに	鎌をもって	いきました。
 おばあさん	川に	洗濯に	洗濯板をもって	空白
 空白	畑に	収穫に	鍬をもって	空白

 を・・・・

 A列	B列	C列	D列	E列
 おじいさん	山に	芝刈りに	鎌をもって	いきました。
 おじいさん	山に	芝刈りに	洗濯板をもって	いきました。
 おじいさん	山に	芝刈りに	鍬をもって	いきました。
 おじいさん	山に	洗濯に	鎌をもって	いきました。
 おじいさん	山に	洗濯に	洗濯板をもって	いきました。
 おじいさん	山に	洗濯に	鍬をもって	いきました。
 おじいさん	山に	収穫に	鎌をもって	いきました。
 おじいさん	山に	収穫に	洗濯板をもって	いきました。
 おじいさん	山に	収穫に	鍬をもって	いきました。
 おじいさん	川に	芝刈りに	鎌をもって	いきました。
 おじいさん	川に	芝刈りに	洗濯板をもって	いきました。
 おじいさん	川に	芝刈りに	鍬をもって	いきました。
 おじいさん	川に	洗濯に	鎌をもって	いきました。
 おじいさん	川に	洗濯に	洗濯板をもって	いきました。
 おじいさん	川に	洗濯に	鍬をもって	いきました。
 おじいさん	川に	収穫に	鎌をもって	いきました。
 おじいさん	川に	収穫に	洗濯板をもって	いきました。
 おじいさん	川に	収穫に	鍬をもって	いきました。
 おじいさん	畑に	芝刈りに	鎌をもって	いきました。
 おじいさん	畑に	芝刈りに	洗濯板をもって	いきました。
 おじいさん	畑に	芝刈りに	鍬をもって	いきました。
 おじいさん	畑に	洗濯に	鎌をもって	いきました。
 おじいさん	畑に	洗濯に	洗濯板をもって	いきました。
 おじいさん	畑に	洗濯に	鍬をもって	いきました。
 おじいさん	畑に	収穫に	鎌をもって	いきました。
 おじいさん	畑に	収穫に	洗濯板をもって	いきました。
 おじいさん	畑に	収穫に	鍬をもって	いきました。
 おばあさん	山に	芝刈りに	鎌をもって	いきました。
 おばあさん	山に	芝刈りに	洗濯板をもって	いきました。
 おばあさん	山に	芝刈りに	鍬をもって	いきました。
 おばあさん	山に	洗濯に	鎌をもって	いきました。
 おばあさん	山に	洗濯に	洗濯板をもって	いきました。
 おばあさん	山に	洗濯に	鍬をもって	いきました。
 おばあさん	山に	収穫に	鎌をもって	いきました。
 おばあさん	山に	収穫に	洗濯板をもって	いきました。
 おばあさん	山に	収穫に	鍬をもって	いきました。
 おばあさん	川に	芝刈りに	鎌をもって	いきました。
 おばあさん	川に	芝刈りに	洗濯板をもって	いきました。
 おばあさん	川に	芝刈りに	鍬をもって	いきました。
 おばあさん	川に	洗濯に	鎌をもって	いきました。
 おばあさん	川に	洗濯に	洗濯板をもって	いきました。
 おばあさん	川に	洗濯に	鍬をもって	いきました。
 おばあさん	川に	収穫に	鎌をもって	いきました。
 おばあさん	川に	収穫に	洗濯板をもって	いきました。
 おばあさん	川に	収穫に	鍬をもって	いきました。
 おばあさん	畑に	芝刈りに	鎌をもって	いきました。
 おばあさん	畑に	芝刈りに	洗濯板をもって	いきました。
 おばあさん	畑に	芝刈りに	鍬をもって	いきました。
 おばあさん	畑に	洗濯に	鎌をもって	いきました。
 おばあさん	畑に	洗濯に	洗濯板をもって	いきました。
 おばあさん	畑に	洗濯に	鍬をもって	いきました。
 おばあさん	畑に	収穫に	鎌をもって	いきました。
 おばあさん	畑に	収穫に	洗濯板をもって	いきました。
 おばあさん	畑に	収穫に	鍬をもって	いきました。

 のような形にしたいのですが難しいでしょうか?できれば関数でできるとありがたいです。

 きっとエキスパートさんからもっとエレガントな式の提示があると思いますが、
 力技の例です。
G1 =IF(ROW()<=54,INDEX(A$1:A$2,MOD(INT((ROW()-1)/27),2)+1)&INDEX(B$1:B$3,MOD(INT((ROW()-1)/9),3)+1)&INDEX(C$1:C$3,MOD(INT((ROW()-1)/3),3)+1)&INDEX(D$1:D$3,MOD(ROW()-1,3)+1)&E$1,"") 

 をG1:G54にコピーです。
 列ごとに分解したい場合は、& でつないである部分を列ごとに記載下さい。

# 後ろが削れていたので、修正しました。

 (Mook)

ありがとうございます!
実際に実施したいのが因子10個なのでちょっと面倒なのですが関数いじってやってみます!
(腹ペコ。)

 セル分ける案。

 5行目から。

 A5 =IF(PRODUCT(MMULT({1,1,1},($A$1:$E$3<>"")*1))<ROW(A1),"",INDEX(A$1:A$3,MOD(INT((ROW(A1)-1)/PRODUCT(MMULT({1,1,1},(B$1:$E$3<>"")*1))),COUNTA(A$1:A$3))+1))
 D5までコピー。

 E5 =IF(D5="","",INDEX(E$1:E$3,MOD(ROW(A1)-1,COUNTA(E$1:E$3))+1))
 A5:E5 下へコピー。

 ※9:42 数式修正
 ※9:44 条件忘れ追加
 ※データ数によって可変 (横5×縦3の範囲)
 ※空白列あるとNG。
 ※各列データ連続のこと。

 (GobGob)

 せっかくなんで A5〜E5まで一つの数式にしてみた。
 条件は一緒。

 A5 =IF(PRODUCT(MMULT({1,1,1},($A$1:$E$3<>"")*1))<ROW(A1),"",INDEX(A$1:A$3,MOD(INT((ROW(A1)-1)/MAX(PRODUCT(MMULT({1,1,1},(B$1:$E$3<>"")*1)),1)),COUNTA(A$1:A$3))+1))

 範囲コピー。

 (GobGob)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.