c语言中table函数,Excel的TABLE函数是什么意思?

b012da601e4c747291deb6576d4ba7ef.png

在表单“已到货物”中的a列中寻找本表单a2相符的行,并显示该行的b列的内容

vlookup(lookup_value,table_array,col_index_num,range_lookup)

lookup_value 为需要在table_array第一列中查找的数值。

可以为数值、引用或文本字符串。需要注意的是类型必须与table_array第一列的类型一致。

查找文本时,文本不区分大小写;可以使用通配符“*”、“?”。

table_array 为需要在其中查找数据的数据表。

可以使用对区域或区域名称的引用、常数数组、计算后的内存数组。

对区域引用时,可以引用整列,excel会自动判断使用区域。

该参数的第一列必须包含查找的内容,其它列包含需返回的内容;返回内容的列序号由下个参数指定。

col_index_num 为table_array中待返回的匹配值的列序号。

如为1时,返回table_array第一列中的数值;为2,返回table_array第二列中的数值,以此类推。

如果col_index_num小于1,函数 vlookup 返回错误值值 #value!;

如果col_index_num大于table_array的列数,函数 vlookup 返回错误值 #ref!。

range_lookup 为一逻辑值,指明函数vlookup返回时是精确匹配还是近似匹配。

如果为true或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;

近似匹配查询一般用于数值的查询,table_array的第一列必须按升序排列;否则不能返回正确的结果。

如果range_value为false(或0),函数vlookup将返回精确匹配值。

此时,table_array不必进行排序。如果找不到,则返回错误值#n/a;可isna检测错误后使用if判断去除错误信息。

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言没有内置的base64函数,需要自己实现。 以下是一个简单的实现: ``` #include <stdio.h> #include <string.h> static const char base64_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; int base64_encode(const unsigned char *src, size_t len, char *dst, size_t dst_len) { size_t i, j; unsigned char buf[4]; int padding = 0; for (i = 0, j = 0; i < len; i += 3, j += 4) { buf[0] = src[i]; buf[1] = (i + 1 < len) ? src[i + 1] : 0; buf[2] = (i + 2 < len) ? src[i + 2] : 0; dst[j] = base64_table[buf[0] >> 2]; dst[j + 1] = base64_table[((buf[0] & 0x03) << 4) | (buf[1] >> 4)]; dst[j + 2] = (i + 1 < len) ? base64_table[((buf[1] & 0x0f) << 2) | (buf[2] >> 6)] : '='; dst[j + 3] = (i + 2 < len) ? base64_table[buf[2] & 0x3f] : '='; if (dst[j + 2] == '=') padding++; if (dst[j + 3] == '=') padding++; } dst[j] = '\0'; return padding; } int base64_decode(const char *src, size_t len, unsigned char *dst, size_t dst_len) { size_t i, j; unsigned char buf[4]; int padding = 0; for (i = 0, j = 0; i < len; i += 4, j += 3) { buf[0] = (src[i] >= 'A' && src[i] <= 'Z') ? src[i] - 'A' : (src[i] >= 'a' && src[i] <= 'z') ? src[i] - 'a' + 26 : (src[i] >= '0' && src[i] <= '9') ? src[i] - '0' + 52 : (src[i] == '+') ? 62 : (src[i] == '/') ? 63 : -1; buf[1] = (src[i + 1] >= 'A' && src[i + 1] <= 'Z') ? src[i + 1] - 'A' : (src[i + 1] >= 'a' && src[i + 1] <= 'z') ? src[i + 1] - 'a' + 26 : (src[i + 1] >= '0' && src[i + 1] <= '9') ? src[i + 1] - '0' + 52 : (src[i + 1] == '+') ? 62 : (src[i + 1] == '/') ? 63 : -1; buf[2] = (src[i + 2] >= 'A' && src[i + 2] <= 'Z') ? src[i + 2] - 'A' : (src[i + 2] >= 'a' && src[i + 2] <= 'z') ? src[i + 2] - 'a' + 26 : (src[i + 2] >= '0' && src[i + 2] <= '9') ? src[i + 2] - '0' + 52 : (src[i + 2] == '+') ? 62 : (src[i + 2] == '/') ? 63 : -1; buf[3] = (src[i + 3] >= 'A' && src[i + 3] <= 'Z') ? src[i + 3] - 'A' : (src[i + 3] >= 'a' && src[i + 3] <= 'z') ? src[i + 3] - 'a' + 26 : (src[i + 3] >= '0' && src[i + 3] <= '9') ? src[i + 3] - '0' + 52 : (src[i + 3] == '+') ? 62 : (src[i + 3] == '/') ? 63 : -1; if (buf[0] == -1 || buf[1] == -1 || buf[2] == -1 || buf[3] == -1) return -1; dst[j] = (buf[0] << 2) | (buf[1] >> 4); dst[j + 1] = (buf[1] << 4) | (buf[2] >> 2); dst[j + 2] = (buf[2] << 6) | buf[3]; if (src[i + 2] == '=') padding++; if (src[i + 3] == '=') padding++; } return j - padding; } ``` 其,`base64_encode`函数用于将二进制数据编码为base64字符串,`base64_decode`函数用于将base64字符串解码为二进制数据。这两个函数都接受指向源数据和目标数据的指针,以及数据长度和目标缓冲区长度。如果目标缓冲区长度不足以容纳编码/解码结果,则返回-1。在编码时,函数还会返回填充字符的数量,以便在解码时正确处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值