[[20260916092929]] 『計算式の記述方法』(アルタイル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『計算式の記述方法』(アルタイル)

 以下の2つのシートがあります。
 Sheet2 のデータを集計したものが Sheet1 になります。
 Sheet1:
    B3,G3 の位置は固定
    L3:M6 の範囲を固定
    C4:E8,H4:J8 の範囲は固定
    L列は Sheet2 で使用されている名前
    M列は Sheet1 で表示される短縮名
 Sheet2:B2,G2 の位置は固定です。
 Sheet2 で、値が入力されているデータを
 Sheet1 に 値、率の順で表示します。

 Sheet2 の作業Aのセル範囲を固定(例えば B3:D7 にする)の範囲でデータを入力します。 
 作業Bも同様に固定(例えば G3:I7 にする)

 この時の C4:E6,H4:J6 のセルの計算式ってどうなりますか?

 Sheet1
   A  B   C  D E F  G   H  I J K  L    M
  ┌─┬───┬───┬─┬─┬─┬───┬───┬─┬─┬─┬────┬───┐
 1│ │   │   │ │ │ │   │   │ │ │ │    │   │
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤
 2│ │   │   │ │ │ │   │   │ │ │ │    │   │
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤
 3│ │作業A│   │値│率│ │作業B│   │値│率│ │田中一郎│鈴木一│
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤
 4│ │   │田中一│02│03│ │   │田中次│02│03│ │田中次郎│田中次│
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤
 5│ │   │山本太│03│01│ │   │山本太│04│01│ │山本太郎│山本 │
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤
 6│ │   │鈴木一│03│01│ │   │   │ │ │ │鈴木一郎│鈴木 │
  ├─┼───┼───┼─┼─┼─┼───┼───┼─┼─┼─┼────┼───┤

 Sheet2
   A  B   C D E F   G  H I J
  ┌─┬────┬─┬─┬─┬─┬────┬─┬─┬─┐
 1│ │    │ │ │ │ │    │ │ │ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 2│ │作業A │率│値│ │ │作業B │率│値│ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 3│ │田中一郎│03│02│ │ │田中一郎│03│ │ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 4│ │田中次郎│02│ │ │ │田中次郎│03│02│ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 5│ │山本太郎│01│03│ │ │山本太郎│01│04│ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 6│ │鈴木一郎│01│03│ │ │    │ │ │ │
  ├─┼────┼─┼─┼─┼─┼────┼─┼─┼─┤
 7│ │    │ │ │ │ │    │ │ │ │

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


>この時の C4:E6,H4:J6 のセルの計算式ってどうなりますか?
その前に氏名は略しない方が計算式が楽になります。
Sheet1、 Sheet2の「率│値」の列も同じにしましょう。
(fuji) 2026/09/16(水) 10:08:57

 作業Aだけ 
=XLOOKUP($D$3:$E$3,Sheet2!$C$2:$D$2,XLOOKUP(XLOOKUP(C4,$M$4:$M$7,$L$4:$L$7,,0),Sheet2!$B$2:$B$6,Sheet2!$C$2:$D$6),,0)
 かな
 L3:M6の表は、サンプルのままではうまくいきません
(´・ω・`) 2026/09/16(水) 10:54:08

 こんな書き方があるかと思います。

 作業Aについては、C4セルに下記の式を入れます。
 =LAMBDA(rng,
     LET(
         _値ありのみ,FILTER(rng,CHOOSECOLS(rng,3)<>""),
         _短縮名,XLOOKUP(CHOOSECOLS(_値ありのみ,1), $L$3:$L$6, $M$3:$M$6, ""),
         HSTACK(_短縮名, CHOOSECOLS(_値ありのみ,3,2))
     )
 )(Sheet2!B3:D7)

 LAMBDA関数だけを名前定義(例えば"転記"などの名前で)しておけば、
 C4セルは、=転記(Sheet2!B3:D7)
 H4セルに  =転記(Sheet2!G3:I7)
 と書けば済みます。調べて見て下さい。
(xyz) 2026/09/16(水) 12:18:52

 間違いがありましたので、式を修正しました。(発言そのものを修正してあります)
 短縮名の変換表は、$L$3:$L$6などと絶対参照にしておくのが安全でした。(名前利用なら必須)
 失礼しました。

(xyz) 2026/09/16(水) 20:01:48


コメント返信:

[ 一覧(最新更新順) ]


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