advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 19633 for 20�����������������������... (0.004 sec.)
[[20040714145539]]
#score: 2681
@digest: afa9449e48e47eaf6b2c3cabefc14e7a
@id: 7740
@mdate: 2004-07-15T08:09:24Z
@size: 4886
@type: text/plain
#keywords: 美神 (22142), 日〆 (19393), 右+ (14877), 〆」 (13096), 払条 (11426), jindon (8127), ド得 (7425), 容a (6098), 有) (5997), 名支 (5611), (有 (5375), 「da (5078), 増加 (3790), date (3673), 号: (3670), 番小 (3573), 先コ (3230), 意先 (2964), 末日 (2836), 号, (2750), 号= (2619), 囲: (2339), 得意 (2276), 方コ (2158), 代用 (2153), 号) (2129), 囲= (2050), small (2036), 行番 (1885), 下方 (1586), 」シ (1575), 1000 (1522)
『IF関数でできるでしょうか?』(美神)
いつもお世話になっています。わかりにくいかもしれませんが、よろしくお願いします。 sheet1「20日〆」 sheet2「25日〆」 sheet3「末日〆」 sheet4「DATE」 ●「DATE」シートの内容 A B C D 1 〆日 得意先コード 得意先名 支払条件 2 20 1111 (株)エクセル 1 3 25 1112 (有)ノガッコウ 2 4 99 1113 (有)オセワサマ 3 このようになっています。 「DATE」シートの(A列)が(20)の場合は、「20日〆」シートにその行の内容を反映させる。 (A列)が(99)の場合は、「末日〆」シートにその行の内容を反映させる、というのはどういう関数になるんでしょうか? 得意先コードを反映させたいセルに =IF(DATE!A:A=20,DATE!B:B)という関数を入れたら「FALSE」になってしまいました( p_q) どうぞよろしくお願いいたします。 ---- 「DATE」シートをオートフィルタで抽出してから、コピーして、 各シートに貼り付けされたらどうでしょう? (LOOKUP) ---- =IF(COUNTIF(Date!$A$1:$A$1000,20)>=ROW(A1),INDEX(Date!$A$1:$D$1000,SMALL(IF(Date!$A$1:$A$1000=20,ROW($A$1:$A$1000)),ROW(A1)),COLUMN(A1)),"") 1.上の数式をコピーして、20日〆シートのA2を選択して、数式バーに貼り付けて Ctrl+Shift+Enterで確定後、右+下方向へフィル。 2.他のシートへは数式中に2箇所ある 20 を各条件に変えて 1.を繰り返す。 では? (jindon) ---- LOOKUPさん、jindonさん、ご回答ありがとうございましたm(__)m jindonさんの教えてくださった方法でうまくいきました! LOOKUPさんの方法でも良かったのですが、実はセルの位置など微妙に違いまして苦戦してました。説明不足でお手数をおかけしました。 助かりました、ありがとうございますっ!! 追伸:もし、お時間が有れば、式の意味を教えてください。 (美神) ---- 作業列を使用する処理方法と比較して説明します。 sheet1「20日〆」 - 20 sheet2「25日〆」 - 25 sheet3「末日〆」 - 99 sheet4「DATE」 ●「DATE」シートの内容 A B C D E F G 1 〆日 コード 得意先名 支払条件 20 25 99 2 20 1111 (株)AAA 1 2 3 25 1112 (有)BBB 2 3 4 99 1113 (有)CCC 3 4 5 20 1114 (株)DDD 4 5 6 99 1115 (有)ABC 5 6 7 25 1116 (有)EEE 6 7 1.E1,F1,G1 に其々抽出条件である、20,25,99を入力 E2に=IF($A2=E$1,ROW(),"")としてG7までフィルすると上記の通りになります。 A列の値がE,F,G列,其々の1行目の値と同じ(TRUE)であれば、ROW() その行番号を表示。 2.各シートには、DateシートのE,F,G列を手掛かりとして、その列の値のある行を 抽出すればよいですね? 3.20日〆のシート1行目はDateシートのE列の最初の値のある行、即ち2行目です。 =INDEX(Date!$A$2:$D$7,MATCH(SMALL(Date!$E$2:$E$7,ROW(A1)),Date!$E$2:$E$7,0),COLUMN(A1)) INDEX範囲=Date!$A$2:$D$7の、 行番号=MATCH(SMALL(Date!$E$2:$E$7,ROW(A1)),Date!$E$2:$E$7,0) Date!$E$2:$E$7で1番小さい値(2)の位置 列番号=INDEX範囲=Date!$A$2:$D$7に対する列番号,COLUMN(A1)=1=Date!A列 これを右+下方向にフィルすれば SMALL関数の引数ROW(A1),INDEX関数の引数, CLOUMN(A1)が其々増加します。 提示した配列数式は前出の 1. 2. を配列を使用してSMALL関数の中で処理をしたと 考えても良いと思います(この辺り、突込みが入りそうですが) =IF(COUNTIF(Date!$A$1:$A$1000,20)>=ROW(A1),INDEX(Date!$A$1:$D$1000,SMALL(IF(Date!$A$1:$A$1000=20,ROW($A$1:$A$1000)),ROW(A1)),COLUMN(A1)),"") 1.=IF(COUNTIF(Date!$A$1:$A$1000,20)>=ROW(A1),INDEX( ............ ,"") エラー処理の部分です。 DateシートのA列で抽出条件の 20 をカウントした値が A1の行番号(1)より多ければ、",INDEX( ..."以降の処理、そうでなければ ,"") ROW(A1)は 1 の代用です。こうしておけば、下方コピーしたとき ROW(A2) と1づつ増加させていくことが出来ますし、 どのセルにこの数式を配置してもこの数式にとってはその位置が1行目になります。 もし、A1にこの数式を貼り付けるのなら ROW() (数式のある行番号) でOKです。 2.INDEX(Date!$A$1:$D$1000,SMALL(IF(Date!$A$1:$A$1000=20,ROW($A$1:$A$1000)),ROW(A1)),COLUMN(A1)) 1.の条件を満たした場合の処理部分です。 INDEX(範囲,行番号,列番号,領域番号) 詳しくはHELPを! INDEXの範囲:Date!$A$1:$D$1000 行番号:SMALL(IF(Date!$A$1:$A$1000=20,ROW($A$1:$A$1000)),ROW(A1)) SMALL関数の範囲: Date!$A$1:$A$1000の配列中で 20 の値がある 配列 ROW($A$1:$A$1000) に対応する SMALL(範囲,ROW(A1)) 一番小さい位置。これも下方コピーで ROW(A2) と増加し、二番目に小さい位置。 詳しくは「配列数式」で検索を! 列番号:COLUMN(A1) これも ROW(A1) と同じく 1 の代用で右にコピーするにしたがって(B1),(C1)と増加。 この程度の説明しか出来ませんが? (jindon) ---- jindonさん、お礼が遅くなってしまって申し訳ありませんm(__)m ご丁寧に、こんなに詳しいご説明ありがとうございます!!本当に嬉しいです!!! これからこのコピーを持って、じっくり勉強させていただきます。 (教えた甲斐のない素人でごめんなさい・・・(T-T)) また、何か機会があればよろしくお願いします。 本当にありがとうございました。 (美神) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200407/20040714145539.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97024 documents and 607975 words.

訪問者:カウンタValid HTML 4.01 Transitional